Frijoles Charros (Mexican Charro Beans)
Frijoles Charros—named after the traditional Mexican horsemen known as charros—is a rustic, soul-warming dish that captures the heart of home-style Mexican cooking.
Bursting with smoky bacon, tender pinto beans, aromatic garlic, fiery chiles, and a slow-simmered broth enriched with tomatoes and fresh herbs, this dish is far more than just beans—it’s comfort in a bowl. Whether served as a hearty side or a standalone meal with warm tortillas, these charro beans celebrate the bold, earthy flavors of northern Mexico.
Every spoonful brings a taste of tradition, community, and the slow-cooked magic passed down through generations.
Why People Will Love Frijoles Charros (Mexican Charro Beans):
Rich, layered flavor profile: The combination of smoky bacon, spicy chiles, aromatic garlic, and fire-roasted tomatoes creates a deeply satisfying, complex taste that feels both hearty and comforting.
Slow-simmered comfort: The long, gentle cooking process tenderizes the beans while allowing the broth to thicken and absorb all the robust flavors, delivering a creamy, soul-soothing consistency.
Versatile and nourishing: Whether served as a main with rice or tortillas, or as a side to grilled meats, these beans offer protein, fiber, and warmth in every bowl—perfect for both everyday meals and gatherings.
Rooted in tradition: This dish carries the culinary heritage of Mexico’s countryside—bringing a taste of authenticity and cultural pride to the table.
Even better the next day: Like many slow-cooked dishes, the flavors deepen with time, making leftovers a true delight—ideal for meal prep or feeding a family over several days.
Key Ingredients:
Dried pinto beans are the heart of this dish—earthy, creamy, and full of substance. When slowly simmered, they absorb every layer of flavor, transforming into a rich and satisfying base.
Thick-cut bacon introduces deep smokiness and a savory depth, rendering fat that infuses the entire dish with bold, rustic character.
Fire-roasted tomatoes add brightness, acidity, and a subtle char that balances the richness of the bacon and the creaminess of the beans.
Fresh chiles and garlic provide a warming, aromatic backbone—adding just enough heat and fragrance to excite the palate without overwhelming it.
Epazote (if used) brings a distinct, herbal complexity and traditional authenticity—an ancient ingredient cherished for both its flavor and digestive benefits.
Cilantro finishes the dish with freshness and a clean herbal lift, tying all the flavors together with a vibrant, green note.
Expert Tips:
Salt the soaking water: Adding kosher salt during the bean soaking stage helps soften the beans more evenly and seasons them internally, giving them a richer, deeper flavor once cooked. Don’t skip this step—it makes a noticeable difference.
Cook the bacon slowly: Let the bacon render slowly over medium heat instead of rushing it. This releases more flavorful fat and develops better caramelization, which becomes a key layer of umami in the final dish.
Use fire-roasted tomatoes, not raw: The slight smokiness and cooked flavor of fire-roasted tomatoes add a complexity that plain canned or raw tomatoes cannot replicate. If you’re using fresh tomatoes, consider roasting them first for added depth.
Simmer low and slow after combining: Once everything is combined, allow the pot to simmer gently uncovered. This not only thickens the broth naturally but lets the flavors integrate, creating a creamy, stew-like texture that clings to every bean.
Add cilantro at the very end: Stir in chopped cilantro just before serving—not earlier. This keeps the flavor bright, herbaceous, and fresh, rather than cooked and muted.
Frijoles Charros (Mexican Charro Beans)
Ingredients
1 pound (450g) dried pinto beans
2 tablespoons kosher salt, for soaking
6 cups (1.4 liters) low-sodium chicken broth, homemade or store-bought
2 bay leaves
2 fresh epazote sprigs (optional, for traditional flavor)
12 ounces (340g) thick-cut bacon, diced
1 medium white or yellow onion, finely chopped (about 8 ounces or 225g)
2 serrano chiles or 1 jalapeño, minced (seeded for less heat, if desired)
3 garlic cloves, minced (about 1 tablespoon or 12g)
2 cans (14 ounces or 400g each) fire-roasted diced tomatoes
1 large handful of fresh cilantro, chopped (leaves and tender stems)
Additional kosher salt, to taste (for final seasoning)
Instructions:
Step 1: Soak the Beans
Place the dried pinto beans in a large bowl and cover them with cold water by at least 4 inches. Stir in 2 tablespoons of kosher salt until dissolved. Let them soak at room temperature for 8–12 hours. Once soaked, drain and rinse thoroughly.
Step 2. Simmer the Beans
Transfer the soaked beans to a Dutch oven. Add the chicken stock, bay leaves, 2 teaspoons of salt, and the epazote if using. Bring to a boil over high heat, then reduce to a gentle simmer. Cover and cook for about 45 minutes, or until the beans are just tender.
Step 3. Cook the Bacon and Aromatics
While the beans cook, heat a large skillet over medium-high heat. Add the diced bacon and cook, stirring often, until the fat renders and the edges of the bacon start to brown, about 5 minutes.
Add the diced onions and minced chiles to the skillet and sauté until softened and lightly browned, about 4 minutes. Stir in the minced garlic and cook for another 30 seconds, just until fragrant.
Step 4. Build the Flavor Base
Add the fire-roasted tomatoes to the skillet and scrape up any browned bits from the bottom. Cook for about 3 minutes, until the liquid thickens and the mixture begins to sizzle.
Step 5. Combine and Simmer
Uncover the Dutch oven and stir in the bacon-tomato mixture. Continue cooking the beans uncovered for another 20 minutes, stirring occasionally, until the broth has thickened into a rich, creamy consistency.
Step 6. Finish and Serve
Taste and adjust seasoning with salt if needed. Remove the bay leaves, stir in freshly chopped cilantro, and serve hot. These beans are even better the next day and can be stored in the refrigerator for up to 1 week.
Important Notes When Making Frijoles Charros (Mexican Charro Beans):
Soaking matters more than you think: The salt-soaking process (brining) not only softens the beans for more even cooking but also enhances their interior seasoning. Skipping this can result in bland or unevenly textured beans, no matter how flavorful the broth.
Use high-quality bacon: The fat and flavor from good bacon lay the foundation for the entire dish. Thick-cut, smoky bacon works best. Avoid overly processed or lean types, as they won’t render enough fat or flavor.
Epazote is traditional and functional: Though optional, epazote adds a distinct herbal, earthy flavor that’s authentic to Mexican cuisine. More importantly, it aids digestion and reduces the gassy effect of beans — a functional touch passed down through generations.
Fire-roasted tomatoes bring depth: Using fire-roasted tomatoes over plain ones introduces a smoky complexity that pairs beautifully with the bacon and chilies. It’s a subtle upgrade that takes the dish from good to unforgettable.
Don’t rush the final simmer: After combining the bacon mixture with the beans, allow enough time for the liquid to thicken and turn creamy. This slow melding of flavors is what transforms the dish from soup-like to stew-like, with a luxurious mouthfeel.
Finish with restraint: Salt and cilantro should be adjusted at the end. The saltiness can vary based on your broth and bacon, and cilantro’s flavor is brightest when added fresh just before serving.
How To Enjoy Frijoles Charros (Mexican Charro Beans) After Cooking:
Right After Cooking:
Let it rest briefly (5–10 minutes) with the lid slightly ajar. This allows the flavors to settle and the beans to firm up slightly for a richer texture.
Stir in fresh cilantro just before serving to brighten the earthy flavors with a burst of herbal freshness.
How to Serve:
Serve warm in deep bowls — the stew-like consistency is best enjoyed when hot and comforting.
Pair with warm corn tortillas, crusty bolillo rolls, or fresh baked bread for dipping and scooping.
Top with extras like a dollop of crema, crumbled cotija cheese, chopped avocado, or a splash of hot sauce to suit your taste.
Serving Suggestions:
As a hearty side dish: Serve alongside grilled carne asada, roasted chicken, or tacos.
As a main course: Simply add rice and a fried egg on top to turn it into a complete, protein-rich meal.
For a lighter option: Spoon it over steamed rice or roasted vegetables.
Storing and Reheating:
Store leftovers in an airtight container in the fridge for up to 5–6 days. The flavors deepen overnight, making them even better the next day.
Reheat gently on the stove over medium heat. Add a splash of water or broth if it has thickened too much.
Beans also freeze well for up to 2 months. Thaw overnight and reheat slowly for best results.
Bonus Enjoyment Tip:
Use leftovers creatively — turn them into a filling for tacos, burritos, quesadillas, or even blend slightly for a smoky bean dip.
This dish is more than food — it’s a warm, communal experience rooted in Mexican tradition. Enjoy it slowly, with good company and maybe a cold cerveza or agua fresca on the side.
Nutritons Fact:
For one serving of Frijoles Charros (Mexican Charro Beans), based on a portion size of approximately 1 cup:
Calories: 310 kcal | Total Fat: 12.5 g | Saturated Fat: 4.5 g | Monounsaturated Fat: 5.3 g \ Polyunsaturated Fat: 1.1 g | Cholesterol: 25 mg | Sodium: 500–650 mg (depending on added salt and broth) | Total Carbohydrates: 32 g | Dietary Fiber: 10 g | Sugars: 3.8 g | Protein: 18 g
Frequently Asked Questions:
Can I use canned beans instead of dried pinto beans?
Yes, but for the best texture and flavor, dried beans are preferred. If using canned beans, skip the soaking and initial simmering steps, reduce cooking time, and use low-sodium varieties. Start with about 3–4 cans (drained and rinsed).
What is epazote, and is it necessary?
Epazote is a traditional Mexican herb that helps enhance the flavor and reduce gas from beans. While it adds authenticity, the dish is still delicious without it. You can skip it or substitute with a small amount of oregano for a different herbal note.
How spicy is this recipe, and can I adjust the heat level?
The heat depends on the type and amount of chile used. Serrano is spicier than jalapeño. To reduce the heat, remove the seeds and ribs or use only half a chile. For more heat, leave the seeds or add an extra pepper.
Can I make this recipe vegetarian?
Absolutely. Simply omit the bacon and use vegetable broth instead of chicken broth. For added depth, sauté the aromatics in olive oil and add smoked paprika or chipotle powder for a hint of smokiness.
How long can I store leftovers, and do they taste better the next day?
Yes! Frijoles Charros taste even better after resting. Store leftovers in an airtight container in the refrigerator for up to 1 week. Reheat gently on the stovetop or in the microwave, adding a splash of broth or water if needed.
Do I need to soak the beans overnight, or can I quick-soak them?
While overnight soaking provides the best texture and digestibility, you can quick-soak by boiling the beans for 5 minutes, then letting them rest (off heat) in hot water for 1 hour before draining and continuing with the recipe.
How do I know when the beans are perfectly tender?
Test by pressing a bean between your fingers or tasting it—well-cooked beans should be soft and creamy inside but still hold their shape. Undercooked beans will feel chalky, while overcooked beans can fall apart.
What’s the secret to building a rich, flavorful broth?
Allow the bacon and aromatics (onion, garlic, chile) to deeply brown before adding the tomatoes. Deglazing the pan with the tomato juices helps lift flavorful bits. Then simmering everything together with the beans lets the flavors fully develop.
Can I make this in a slow cooker or pressure cooker?
Yes. For a slow cooker, sauté the bacon and aromatics first, then combine all ingredients and cook on low for 6–8 hours. For a pressure cooker (like Instant Pot), cook soaked beans under high pressure for about 25–30 minutes with natural release.
Why is my broth too thin or too thick at the end?
If too thin: Simmer uncovered longer to reduce it, stirring occasionally.
If too thick: Stir in a bit of extra stock or water. Beans will naturally thicken the broth as they break down, especially after cooling and reheating.