Mexican
Frijoles Charros
Brothy northern Mexican pinto beans layered with crisp bacon, fresh chorizo, ripe tomato, jalapeño, and bright cilantro.

6 servings · 30 minutes prep · 165 minutes cook
Ingredients
Beans and broth
- 1 lb (about 2½ cups), Dried; picked over and rinsed
- 3 quarts, For soaking; discard after soaking
- 10 cups, Fresh water, divided; for cooking
- ½ medium onion (4 oz), Peeled but left intact
- 4 large cloves (¾ oz), Peeled and left whole
- 1 bay leaf
- 2 tsp, Diamond Crystal kosher salt, divided: 1½ teaspoons for the beans and ½ teaspoon for the charro seasoning
Charro seasoning
- 6 oz, Thick-cut; cut crosswise into ½-inch (1.25 cm) pieces
- 5 oz, Casing removed
- ½ medium onion (4 oz), Finely diced
- 2 medium jalapeños (about 1½ oz), Stemmed and finely diced; retain the seeds
- 3 large cloves (½ oz), Minced
- 3 medium tomatoes (12 oz), Cored and finely diced
- ½ tsp, Dried and crumbled
- 1 packed cup (¾ oz), Chopped; stems and leaves separated
Directions
Soak and cook the beans
- Put the pinto beans in a {{tool:large-bowl}} and cover them with the 3 quarts cool water. Soak at room temperature for 8 to 12 hours. Drain through a {{tool:colander}} and rinse; discard the soaking water.
- Transfer the beans to a 5- to 6-quart {{tool:large-heavy-pot}}. Add 8 cups of the water, the intact white onion, whole garlic cloves, bay leaf, and 1½ tsp of the kosher salt. Bring just to a boil over medium-high heat, skimming off any foam that rises.
- Reduce the heat to maintain a very gentle simmer: bubbles should break the surface intermittently, not churn the beans. Partially cover and cook for 1¼ to 2 hours. Stir carefully with a {{tool:wooden-spoon}} every 25 to 30 minutes and add the remaining 2 cups water in portions whenever the beans are no longer covered by at least 1 inch of liquid.
- Begin checking after 1¼ hours. The beans are ready when several sampled beans are creamy throughout with no chalky center, but their skins and shapes remain intact. Remove and discard the onion, garlic cloves, and bay leaf. Keep the beans in their broth over low heat.
Build the smoky tomato base
- While the beans finish cooking, place the smoked bacon in a {{tool:large-skillet}} over medium-low heat. Cook for 10 to 14 minutes, stirring occasionally, until its fat has rendered and the pieces are browned and crisp at the edges. Transfer the bacon with a {{tool:slotted-spoon}} to a plate.
- Pour the bacon fat into a {{tool:heatproof-bowl}}, leaving exactly 1 tbsp in the skillet. Discard the excess once cool. Add the fresh mexican chorizo and raise the heat to medium. Cook for 5 to 7 minutes, breaking it into small crumbles, until browned, no pink remains, and the meat reaches 160°F on an {{tool:instant-read-thermometer}}. Transfer it to the bacon plate with the slotted spoon.
- Leave 1 tbsp rendered fat in the skillet, again discarding any excess after it cools. Add the chopped white onion and jalapeno. Cook over medium heat for 5 to 7 minutes, stirring often, until the onion is translucent and the jalapeños have softened.
- Add the minced garlic and the chopped stems from the cilantro. Cook for 45 seconds, until fragrant. Stir in the roma tomatoes, mexican oregano, and the remaining ½ tsp kosher salt. Cook for 8 to 10 minutes, stirring and scraping the skillet, until the tomatoes collapse and the mixture becomes thick and glossy rather than watery.
Finish the beans
- Scrape the tomato mixture into the pot of beans. Add the cooked bacon and chorizo and stir gently so the beans remain whole. Simmer uncovered over low heat for 20 minutes, stirring once or twice. The finished broth should be smoky and lightly thickened by the beans but still abundant enough to pool around each serving. If it reduces too far, stir in a small amount of hot water.
- Remove the pot from the heat and fold in the leaves from the cilantro. Rest for 10 minutes so the broth settles and the flavors meld. Stir gently before serving; the surface should have only small, scattered beads of fat rather than an oily layer.