Try my new budgeting app Cheddar 🧀
Better than YNAB, Mint (RIP), or EveryDollar.
Export 11 ingredients for grocery delivery
Step 1
To prepare the beans, in a large bowl, combine the beans with 2 quarts water and 2 tablespoons salt; stir to dissolve salt. Cover and soak the beans overnight at room temperature.
Step 2
Drain the beans. In a large Dutch oven, heat the oil over medium heat until shimmering. Add the onion and 1 teaspoon salt, then cook, stirring occasionally, until it begins to brown, about 5 minutes. Stir in the garlic and cilantro stems. Cook, stirring, until fragrant, about 30 seconds. Stir in the beans and broth, then bring to a boil over medium-high. Cover, reduce to low and cook, stirring occasionally, until the beans are tender, about 1 hour.
Step 3
While the beans cook, make the sofrito. In a 12-inch nonstick skillet over medium, heat the lard until shimmering. Add the onion and ½ teaspoon salt, then cook, stirring occasionally, until well browned, 5 to 7 minutes. Stir the garlic and cook until fragrant, about 30 seconds. Add the tomatoes and jalapeños and cook, stirring often, until the tomatoes have broken down, the liquid they released has cooked off and the mixture begins to sizzle, 10 to 15 minutes. Remove from the heat and set aside.
Step 4
When the beans are done, remove the pot from the heat and let stand uncovered for 30 minutes to allow the liquid to thicken slightly. Return the beans to a simmer over medium, stirring occasionally. Add the sofrito and shredded pork (if using). Cook, stirring occasionally, until heated through, about 5 minutes. Taste and season with salt and pepper, then stir in the cilantro leaves. Serve with salsa fresca on the side.