Hearty frijoles charros with pinto beans simmered in a smoky broth with tomatoes, jalapeño, cilantro, and crispy sausage. A one-pot comfort meal that's even better the next day. Includes vegan and traditional options.
10 minutesmins
30 minutesmins
40 minutesmins
6people
Calories: 233kcal
Ingredients
Beans (use one option):
3cupscooked pinto beanshomemade or canned, with some cooking liquid reserved
OR 2 cans15 oz each pinto beans, drained and rinsed
Protein (choose one):
4plant-based sausages or vegan hot dogsdiced
OR 4 slices baconchopped + 1/2 cup diced ham + 1/2 cup Mexican chorizo
Cook the beansskip if using canned. Rinse dried pinto beans and simmer in water for about 2 hours until tender. Drain and reserve some cooking liquid. You can also cook them in an Instant Pot on high pressure for 35-40 minutes with natural release.
Instructions
Cook the beans (skip if using canned). Rinse dried pinto beans and simmer in water for about 2 hours until tender. Drain and reserve some cooking liquid.
You can also cook them in an Instant Pot on high pressure for 35-40 minutes with natural release.
Brown the protein. Heat a large pot or Dutch oven over medium-high heat. If using bacon, chorizo, or ham, cook the bacon first until crispy, then add the chorizo and ham and cook until browned, about 5-6 minutes total. Remove from the pot and set aside. If using plant-based sausage, dice and cook until crispy on the edges, about 4-5 minutes. Remove and set aside.
Saute the vegetables. In the same pot (use the rendered fat from the meat, or add oil if using vegan sausage), saute the diced onion until translucent, about 3-4 minutes. Add the garlic, tomatoes, and jalapeño. Cook for 5 minutes until the tomatoes soften and release their juices. Season with salt.
Add the beans and broth. Pour in the cooked pinto beans and broth. If using homemade beans, add some of their cooking liquid for extra flavor. Stir to combine. Bring to a boil, then reduce heat to low and simmer for 25-30 minutes.
Thicken if needed. If you want a thicker consistency, use a potato masher to mash a few beans against the side of the pot.
Finish and serve. Taste and adjust salt. Stir in the browned protein and chopped cilantro just before serving. Serve hot with warm tortillas or tortilla chips.
Notes
Meat vs. vegan protein: If using bacon, chorizo, or ham, cook them first to render the fat, then use that fat to sauté the vegetables for deeper flavor. If using plant-based sausage, brown them separately and add them back at the very end. Vegan sausages absorb a lot of liquid and will get soggy if simmered in the broth.
Canned bean shortcut: Use 2 cans of drained pinto beans and 2 cups of broth. Skip step 1 entirely. Total cook time drops to about 50 minutes.
Thickness: Frijoles charros in Monterrey and northern Mexico are traditionally thick, almost stew-like. In other regions, they are more brothy. Adjust by adding more broth for soup or mashing a few beans for thickness.
Spice level: One jalapeño gives mild heat. For more heat, add an extra jalapeño or 1-2 chipotles in adobo with the vegetables. For less, remove the jalapeño seeds or skip the chile entirely.
Borracho twist: Add 1 cup of dark beer when you add the broth for "frijoles borrachos" (drunken beans).
Better the next day: The flavors deepen overnight. This is an ideal meal-prep recipe.
Storage: Refrigerate in an airtight container for up to 5 days. Freeze (without sausage) for up to 3 months. Reheat on the stovetop with a splash of water or broth.