Frijoles Charros Recipe
Mexican bean soup. (Beans, chorizo, ham, and bacon)
Was this page helpful?
Help improve this recipe for others.
Send this recipe to your inbox.
We'll email it straight to you - plus weekly cooking inspiration.
Ingredients
Some product links may be affiliates. If you buy through them, you're supporting the site and Pekin may earn a commission at no extra cost to you.
Broth & Beans
Meats
Aromatics & Veg
Seasoning & Finishes
Method
Broth & Beans
- 1
Soak (optional)
Rinse the dried pinto beans under cold water and pick out any stones or debris. For faster cooking and creamier beans, place beans in a large bowl, cover with 4 cups of water, and soak for 4–8 hours or overnight. Drain and rinse before cooking. (If short on time, proceed without soaking; cooking time will increase.)
- 2
In a large heavy-bottomed pot or Dutch oven, add the soaked (or unsoaked) beans, 12 cups fresh water, 2 cups chicken broth, bay leaves, and 1 tablespoon kosher salt. Bring to a gentle boil over medium-high heat, then reduce to a simmer. Partially cover and simmer until beans are tender but not falling apart—about 1 to 1 1/2 hours for soaked beans, or 1 1/2 to 2 1/2 hours for unsoaked. Skim any foam from the surface during the first 20 minutes.
- 3
When beans are tender, remove and discard the bay leaves. Taste the broth and adjust seasoning with additional salt if needed. Keep the pot over very low heat while you prepare the meat and vegetables.
Meats
- 4
While the beans simmer, cook the bacon: chop into 1/2-inch pieces and place in a large skillet over medium heat. Cook, stirring occasionally, until the bacon is crisp and has rendered its fat, about 8–10 minutes. Use a slotted spoon to transfer the bacon to a plate lined with paper towels, leaving the bacon fat in the skillet.
- 5
Remove the casing from the chorizo and add the loose chorizo to the skillet with the bacon fat. Cook over medium heat, breaking it up with a spoon, until browned and cooked through, about 6–8 minutes. If the chorizo produces a lot of fat, drain off excess but leave about 1–2 tablespoons in the pan for flavor.
- 6
Add the diced smoked ham to the skillet with the chorizo for the last 2–3 minutes of cooking to warm and brown the ham slightly. Combine the cooked bacon with the chorizo and ham and set aside. Reserve about 1–2 tablespoons of the rendered fat in the skillet for sautéing the aromatics (add neutral oil if needed).
Aromatics & Veg
- 7
Peel and finely chop the yellow onion. Mince the garlic cloves. Core and dice the roma tomatoes. Finely chop the jalapeño, removing seeds for milder heat (or leave seeds for more heat). Chop the cilantro and slice the green onions, keeping some green tops for garnish.
- 8
- 9
Add the diced tomatoes to the skillet and cook until they break down slightly and release juices, about 4–6 minutes. Stir in 1 teaspoon ground cumin and 1 teaspoon dried oregano, cooking 30 seconds to bloom the spices.
- 10
Transfer the cooked aromatics and most of the meat mixture (reserve a handful for garnish) into the pot of simmering beans. Stir to combine. Continue simmering the soup gently for another 15–20 minutes so the flavors meld. If the soup is too thick, add up to 1 cup additional water or broth to reach desired consistency.
Seasoning & Finishes
- 11
Taste the frijoles charros and adjust seasoning with additional kosher salt and 1/2 teaspoon black pepper as needed. Stir in chopped cilantro and most of the sliced green onions, reserving some for garnish. If desired, add up to 2 teaspoons hot sauce for extra heat.
- 12
Ladle the frijoles charros into bowls. Top each serving with the reserved crisp bacon and meat, a sprinkle of crumbled queso fresco or cotija, remaining green onion slices, and a few cilantro leaves. Serve with lime wedges on the side to squeeze over the soup.
- 13
Serve hot as an appetizer or small main. Leftovers keep well refrigerated in an airtight container for up to 4 days; reheat gently on the stove, adding a splash of water or broth if thickened.