Side Dishes
This authentic Mexican charro beans recipe delivers the smoky, spiced depth that makes them a staple at Mexican tables—where they're often served with crispy bacon on top. The secret lies in slow-simmered tomatoes, cumin, and oregano that build rich, complex flavor while tenderizing the beans.
I first discovered this version at a family gathering in Oaxaca, where my abuela insisted on soaking the beans overnight for that signature melt-in-your-mouth texture.
The process begins with aromatics—garlic, onion, and chiles—that form the flavor foundation, then simmers with tomatoes and spices until thick and velvety. Traditional recipes call for pinto beans, but you can substitute black or even kidney beans for variety.
The bacon adds a smoky crunch that contrasts beautifully with the soft beans, though it's easily omitted for a vegetarian version. What sets this apart is the balance of acidity from tomatoes and warmth from spices.
What you'll end up with is a side dish that's hearty enough to stand alone but perfect alongside grilled meats or tacos. The beans develop a glossy sheen from simmering, while the bacon stays crisp enough to add texture with every bite.
This is comfort food at its finest—simple ingredients transformed into something deeply satisfying through technique and patience. Let's get started on creating your own batch.
For those who love flexibility, this recipe adapts well: add chorizo for extra flavor, swap in jalapeños for heat, or serve with warm tortillas for a complete meal. The beauty of charro beans lies in their versatility while maintaining that authentic Mexican soul. Here's how to make them from scratch.
Ingredients for authentic mexican charro beans
Smoky, spiced beans with rich tomato depth—just nine ingredients transform into a Mexican classic.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried Pinto Beans 🌱 | 1 ½ cups | Soaked overnight for best texture |
| Extra-Virgin Olive Oil 🫒 | 2 tbsp | For sautéing aromatics |
| Yellow Onion 🧅 | 1 whole | Diced into small pieces |
| Garlic Cloves 🧄 | 4 cloves | Minced finely for depth |
| Dried Guajillo Chiles 🌶️ | 2 pieces | Stemmed and seeded |
| Dried Ancho Chiles 🌶️ | 2 pieces | Stemmed and seeded |
| Canned San Marzano Tomatoes 🍅 | 2 cups | Crushed by hand |
| Ground Cumin 🌿 | 1 tbsp | Toasted for deeper flavor |
| Dried Mexican Oregano 🍃 | 1 tbsp | Not regular oregano |
| Bay Leaves 🌿 | 2 whole | Remove before serving |
| Vegetable Broth 💧 | 2 cups | Low-sodium preferred |
| Lime Juice 🍋 | 1 tbsp | Freshly squeezed |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Smoked Paprika 🌶️ | 1 tsp | For smoky depth |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
The chiles are the soul of this dish. Mexican markets usually carry guajillo and ancho in bulk bins—look for vibrant, slightly wrinkled pods. If you can't find them, Penzeys or Trader Joe's stock them online. Toast them first in a dry skillet until fragrant (about 30 seconds per side)—this deepens their flavor. The beans? Soak overnight in plenty of water with a pinch of salt; this cuts cooking time dramatically and improves texture. Pinto beans are traditional, but black or kidney beans work just as well if that's what you have on hand.
No Mexican oregano? Regular dried oregano at half the amount works in a pinch, but the flavor won't be quite the same. Short on chiles? 1 tbsp chipotle powder adds smokiness, though it won't replicate the complexity. The tomatoes should be San Marzano if possible—their sweetness balances the spices perfectly. For extra richness, blend a few roasted garlic cloves into the tomato mixture. And if you're feeling adventurous, add a dash of liquid smoke for that authentic charro smokiness without actual bacon.
These beans taste even better the next day—let them cool completely, then store in an airtight container for up to 5 days in the fridge. For longer storage, freeze portions in 1-cup containers; they'll keep for 3 months. Reheat gently on the stove with a splash of water or broth. The texture gets even creamier after the first night, and the flavors meld into something truly special. Perfect for meal prep—just reheat and top with avocado or warm tortillas.
Why You'll Love This Recipe
- No-Soak Needed: I’ll be real—skipping the overnight soak and using dried pintos with a quick boil and baking soda cut my prep time in half. The beans stay creamy without gummy texture, and honestly? That extra step was always my excuse to skip it anyway.
- Smoky Depth Magic: Those guajillo chiles aren’t just for show—they toast and rehydrate into a rich, slightly smoky broth that clings to every bean. Add the garlic and onion caramelized in olive oil? Suddenly, your beans taste like they simmered for hours (even if they didn’t).
- Weeknight Workhorse: This is my go-to for tacos, burrito bowls, or even a lazy Sunday brunch. Double the batch, store half for later, and reheat it with a splash of water—it’s the only bean dish that doesn’t turn into mush the next day.
- Pantry Staple Power: Dried beans, a chile packet, and basic spices? That’s it. No specialty ingredients, no last-minute grocery runs. I’ve made these with just what I had in my cupboard, and they’re still ridiculously good—proof that authenticity doesn’t require a shopping spree.
Step-by-step instructions for authentic Mexican charro beans
Here's how to create that perfect balance of smoky, spicy, and tangy flavors that make these beans unforgettable.
Prepare the Dried Pinto Beans for Cooking
Begin by rinsing the 1.5 cups dried pinto beans thoroughly under cold water to remove any debris. This step is crucial for clean flavor development. Place them in a large bowl and cover with plenty of fresh water—at least 4 cups—to account for the beans swelling as they soak. Let them soak overnight in the refrigerator for best texture. I know it's tempting to speed this up, but soaking overnight ensures the beans cook evenly and develop that signature creamy texture.
After soaking, drain the beans and give them another quick rinse. You'll notice they've nearly doubled in size. Transfer them to a 6-quart pot—this gives them enough room to develop their signature thick, creamy consistency without becoming mushy. Add 2 cups vegetable broth and bring to a gentle boil over medium-high heat. Once boiling, reduce heat to low and let them simmer uncovered for 30 minutes. This initial cooking softens them enough for the next steps while preventing them from breaking down completely.
Build the Smoky Chili Base
While the beans simmer, prepare the chili base that will give these beans their authentic Mexican character. In a small bowl, toast the 1 tablespoon ground cumin and 1 tablespoon dried Mexican oregano in a dry skillet over medium heat for 1 minute until fragrant. This toasting deepens their flavors dramatically—you'll smell that warm, earthy aroma that's essential for authentic taste.
In a separate medium saucepan, heat the 2 tablespoons extra-virgin olive oil over medium heat. Add the 1 whole yellow onion, diced, and cook for 5 minutes until softened and translucent. Add the 4 cloves garlic cloves, minced, and cook for another 30 seconds until fragrant. Here's where the magic happens: add the 2 pieces dried guajillo chiles and 2 pieces dried ancho chiles, both stemmed and seeded. Pour in the 2 cups canned San Marzano tomatoes, crushed by hand, and stir to combine. Let this mixture simmer uncovered for 10 minutes until the tomatoes break down and the chiles release their deep, smoky flavors.
Combine and Simmer the Charro Beans
After the beans have simmered for 30 minutes, add the chili base to the pot along with the 2 whole bay leaves, 1.5 teaspoons salt, 1 teaspoon smoked paprika, and 0.5 teaspoon black pepper. Stir well to combine all ingredients. The mixture should look rich and deeply colored from the chiles and tomatoes. Let everything simmer together uncovered over low heat for 45 minutes, stirring occasionally to prevent sticking.
Here's the key to perfect texture: after 30 minutes of simmering, taste the beans and adjust the seasoning. You'll want a balance of smoky, spicy, and slightly tangy flavors. If the beans are too thick, add another ½ cup vegetable broth to reach your desired consistency. The beans are done when they're tender but still hold their shape—you should be able to mash some between your fingers with gentle pressure, but they shouldn't be mushy.
Finish with Bright Acid and Rest
Once the beans reach perfect tenderness, remove the 2 whole bay leaves and stir in the 1 tablespoon lime juice. This bright acidity cuts through the richness of the beans and chiles, balancing all the flavors beautifully. Taste again and adjust the seasoning if needed—this is where you fine-tune the perfect balance of smoky, spicy, and tangy.
Let the beans rest off heat for 10 minutes before serving. This resting period allows all the flavors to meld together completely. The beans should have a thick, creamy texture with visible chunks of onion and garlic throughout. Serve warm with warm tortillas, grilled meats, or as a side dish—each bite should deliver that perfect combination of smoky, spicy, and tangy Mexican flavors that make these beans so special.
Pro Tips For Making Authentic Mexican Charro Beans
- TOAST THE CHILES HARD: Guajillo chiles need to be toasted until they smell like smoky campfire—dark spots and a slight curl at the edges. I learned this the hard way: under-toasted chiles taste like nothing, and over-toasted ones burn. Hold them 2-3 inches from the flame, turning often, until they’re fragrant and slightly charred.
- SOAK BEANS IN LIME WATER: Dump your pinto beans in hot water with 2 tablespoons of lime juice or vinegar (yes, even if you’re impatient). This cuts soaking time by half and keeps the beans from developing that metallic taste. Drain well before cooking—no one wants a watery bean pot.
- COOK LOW AND SLOW: Charro beans are about texture, not speed. Once the beans hit the pot, keep the heat at a bare simmer—just enough to see tiny bubbles. I used to rush it, and the beans turned mushy. Two hours minimum, three if they’re extra tough. Patience here makes all the difference.
- CHAR THE ONIONS FIRST: Sauté your onions in olive oil until they’re deep golden, almost caramelized, before adding garlic. This builds flavor that cuts through the earthiness of the beans. Skip this, and your dish tastes flat—trust me, I’ve made that mistake.
Wine and beer pairings for this dish
Mexican Lager Pairing
For charro beans, I always reach for a crisp Mexican lager like Modelo Especial or Pacífico Clara. The clean, slightly malty profile balances the beans' smoky depth without overpowering their natural flavors.
The subtle citrus notes in these beers complement the lime finish in the dish beautifully. Serve chilled to enhance the refreshing contrast against the warm beans. 🍺
Spiced Margarita Cocktail
A spicy margarita with muddled jalapeño and a touch of agave syrup elevates charro beans to party-worthy status. The heat mirrors the chiles in the beans while the tart citrus brightens the smoky flavors.
I like to rim the glass with tajín for an extra kick. This pairing works especially well when serving with grilled meats or tacos. 🍹
Red Wine Contrast
For those who prefer wine, a light-bodied red like Tempranillo or Grenache from Spain offers an unexpected but delicious match. The wine's earthy notes harmonize with the beans' cumin and oregano, while its acidity cuts through the richness. Decant for 30 minutes before serving to soften any tannins. 🍷
Non-Alcoholic Options
Don't overlook horchata or Mexican soda like Jarritos Tamarind for non-alcoholic pairings. The cinnamon in horchata complements the beans' warm spices, while the tart tamarind soda provides a refreshing contrast. Both drinks are perfect for balancing the dish's hearty flavors without alcohol. 🥤
Beer vs. Wine Balance
When choosing between beer and wine, consider the meal's other components. If serving with grilled meats, a bold beer like Negra Modelo works better. For vegetarian versions, a crisp white like Verdejo offers a lighter option.
Always taste as you go—pairings should enhance, not compete with, the beans' flavors. 💡
Nutrition facts
Frequently asked questions
Why do traditional charro beans require overnight soaking?
Overnight soaking transforms the beans' texture from tough to creamy while reducing cooking time by 30-45 minutes. The extra hydration prevents them from becoming mushy during simmering, giving you that signature velvety consistency. Pro tip: Add a pinch of salt to the soaking water to enhance flavor development.
Can I substitute canned beans for dried in this recipe?
You can use 1 can (15 oz) drained pinto beans per 1.5 cups dried, but the texture will be less creamy. For best results, simmer the canned beans with the sauce for an extra 20 minutes to absorb flavors. The overnight soak is what creates that authentic charro bean mouthfeel.
What's the difference between Mexican oregano and regular oregano?
Mexican oregano has a warm, earthy flavor with hints of citrus and licorice, while regular oregano tastes more herbal and bitter. For this recipe, use 1 tbsp Mexican oregano—it's essential for authentic flavor. If unavailable, substitute with ½ tsp regular oregano + ½ tsp thyme, but the taste won't be identical.
How do I make vegetarian charro beans?
Skip the bacon completely and boost flavor with 1 tbsp smoked paprika or 1 chipotle pepper in adobo (minced). Add ½ cup diced mushrooms (sautéed with the onions) for umami depth. The lime juice and chiles will still provide that signature tangy-smoky balance.
Why do my beans turn out too thick or watery?
Too thick? Add ½ cup vegetable broth (1 tbsp at a time) while simmering. Too thin? Simmer uncovered for 10-15 extra minutes to reduce. The beans should coat the back of a spoon but still allow visible chunks. For perfect texture, stir occasionally and taste at the 30-minute mark to adjust early.
