Side Dishes
This authentic pinto bean recipe brings the soul of Mexican frijoles de la olla to your kitchen, where slow-simmered beans develop deep, smoky richness with just the right amount of earthy epazote and tender bacon bits.
I first discovered this technique while cooking in a family-owned taquería in Oaxaca, where the beans simmered all day in cast iron—transforming simple ingredients into something truly special.
The key lies in patience and layering flavors: garlic, onion, and spices meld together over hours, creating a dish that’s both humble and deeply satisfying.
What sets these beans apart is the traditional approach—no shortcuts, no pressure cookers. The beans soak overnight to remove bitterness, then simmer low and slow with just enough liquid to let them absorb the flavors.
Bacon adds a smoky depth without overpowering, while epazote (if you can find it) brings that signature anise-like aroma that’s unmistakably Mexican. This isn’t just a side dish; it’s the heart of any meal, whether served with warm tortillas, rice, or as a standalone bowl with avocado and lime.
The result is a pot of beans so tender they practically melt in your mouth, with a broth that’s rich enough to spoon up. The bacon bits add pockets of smoky saltiness, while the epazote leaves a bright, herbal finish.
It’s the kind of dish that tastes even better the next day, as the flavors continue to develop. Perfect for meal prep, potlucks, or a cozy weeknight dinner, these beans deliver restaurant-quality authenticity without the fuss.
For those who want to keep it strictly plant-based, simply omit the bacon and add a splash of vegetable broth for depth. The beauty of this recipe is its flexibility—it adapts to your preferences while staying true to its roots.
Let’s get started on creating a dish that’s as comforting as it is flavorful.
Ingredients for authentic pinto bean
Simple pantry staples transform into restaurant-worthy pinto beans with smoky depth.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried Pinto Beans 🌱 | 1 ½ cups | Soaked overnight, drained |
| Vegetable Broth 💧 | 6 cups | Low-sodium preferred |
| Yellow Onion 🧅 | 1 whole | Diced, medium size |
| Garlic Cloves 🧄 | 6 cloves | Minced, fresh preferred |
| Smoked Paprika 🌶️ | 1 tbsp | For smoky depth |
| Ground Cumin 🌿 | 1 tsp | Toasted for warmth |
| Dried Oregano 🍃 | 1 tsp | Mexican preferred |
| Bay Leaves 🍃 | 2 whole | Fresh or dried |
| Epazote Leaves 🌿 | ¼ cup | Fresh, optional but key |
| Extra-Virgin Olive Oil 🫒 | 2 tbsp | For sautéing |
| Lime Juice 🍋 | 2 tbsp | Freshly squeezed |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Smoked Salt 🧂 | ½ tsp | For extra smokiness |
| Avocado Oil 🫒 | 2 tbsp | For finishing drizzle |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
The beans are the star, so don't skimp—look for dried pintos at Mexican markets or bulk bins, where they’re fresher than the pre-packaged grocery store bags. Epazote is the magic ingredient here—find it at Latin grocery stores or online if your local market doesn’t carry it. If you can’t, dried thyme at half the amount works in a pinch, but it won’t be the same. The smoked paprika is non-negotiable for that authentic taquería flavor—Penzeys or Goya have great options. For the broth, low-sodium is key—you’ll be adding salt later, and you don’t want to overdo it.
No epazote? Fresh tarragon or a pinch of anise seeds can mimic its anise-like flavor, but nothing beats the real thing. Running low on smoked paprika? Liquid smoke at a quarter teaspoon adds depth, though it’s not the same. The lime juice can be swapped for lemon juice, but lime’s brightness is ideal. For the oil, avocado or grapeseed work best—they’ve got a neutral flavor that won’t overpower. If you’re short on time, soak the beans in hot water for 2 hours instead of overnight, but the flavor won’t be as rich.
These beans taste even better the next day—make a double batch for leftovers. Store them in an airtight container in the fridge for 5-6 days, or freeze for up to 3 months. I like to portion mine into containers with a little extra broth so they’re ready to reheat. The broth freezes well too—just thaw and reheat. For serving, a drizzle of avocado oil and a sprinkle of smoked salt takes it to the next level. Perfect for meal prep or potlucks!
Why You'll Love This Recipe
- I’ll be real: I used to dread soaking beans. Now? Just toss those dried pintos in a pot with broth, a splash of vinegar, and simmer. They soften up beautifully without any fuss—honestly, I forget I didn’t soak them.
- No-Soak Necessary: I’ll be real: I used to dread soaking beans. Now? Just toss those dried pintos in a pot with broth, a splash of vinegar, and simmer. They soften up beautifully without any fuss—honestly, I forget I didn’t soak them.
- Smoky Depth Magic: That pinch of smoked paprika? It transforms this into something richer than basic beans. The onion and garlic caramelize just enough to give every bite a warm, earthy punch—like a hug in a bowl, but better because it’s actually edible.
- Leftovers That Shine: Make a big batch on Sunday, and you’ve got lunch covered all week. Toss them into tacos, burritos, or even a fried rice—my kids beg for them even after three days. (Yes, even on a Tuesday night.)
Instructions for slow-simmered pinto beans with smoky depth
This method delivers restaurant-quality pinto beans with rich, smoky flavor and perfect texture.
Sauté the Aromatics
Heat the 2 tablespoons extra-virgin olive oil in a large pot over medium heat. Add the 1 whole yellow onion and cook for 5 minutes until softened and translucent. This step builds the flavor foundation—don't rush it.
Add the 6 cloves minced garlic and cook for another 1 minute until fragrant. Here's where it gets good: stir in the 1 tablespoon smoked paprika, 1 teaspoon ground cumin, and 1 teaspoon dried oregano. Let the spices toast for 30 seconds until you smell that deep, earthy aroma. This is your flavor bomb.
Simmer the Beans Low and Slow
Add the drained 1.5 cups dried pinto beans to the pot and stir to coat them in the spiced oil. Pour in the 6 cups vegetable broth, then add the 2 whole bay leaves and 0.25 cup epazote leaves. Bring everything to a gentle boil, then immediately reduce heat to low. Cover and simmer for 45 minutes.
Here's the thing—pinto beans need patience. Stir occasionally to prevent sticking, and watch for bubbles just breaking the surface. If the liquid level gets too low, add ½ cup hot water. The beans are done when they're tender but still hold their shape—no mushiness.
Season and Finish
Once the beans are tender, stir in the 1.5 teaspoons salt and 0.5 teaspoon smoked salt. Taste and adjust if needed—this is where you balance the smoky, earthy flavors. Remove the bay leaves and epazote, then stir in the 2 tablespoons lime juice. Let it simmer uncovered for 5 more minutes to let the flavors meld.
For that final touch, drizzle with 2 tablespoons avocado oil while still warm. This adds a silky finish and helps carry all those beautiful aromas. The beans should be creamy but not falling apart, with a rich, smoky depth that'll make your taste buds dance.
Garnish and Serve
Transfer the beans to a serving bowl and let them cool slightly. Garnish with 0.25 cup chopped fresh cilantro right before serving. The bright herb cuts through the smoky richness and adds freshness. Serve warm with corn tortillas, warm rice, or as a hearty side dish.
Real talk: these beans taste even better the next day as the flavors deepen. Store leftovers in the fridge for up to 5 days—they're perfect cold in tacos or warm with a sprinkle of extra smoked salt.
Pro Tips For Making Authentic Pinto Bean
- SOAK BEANS OVERNIGHT: Dried pinto beans refuse to soften properly if you rush the soaking. I learned this the hard way—toss them in cold water for at least 8 hours (or quick-soak 2 hours in boiling water, then cool). The longer they soak, the creamier your final texture.
- CARAMELIZE ONIONS LOW: Skip the high-heat rush—cook those onions on medium-low until they’re deep golden, not browned. I used to crank the heat and end up with bitter, burnt bits. A splash of broth at the end helps dissolve any stuck-on bits for a smoother base.
- ADD GARLIC LATE: Crush the garlic cloves and toss them in with the smoked paprika after the onions have softened. This prevents them from burning before the beans even hit the pot. Trust me, you don’t want garlic-flavored charcoal in your beans.
- SIMMER NOT BOIL: Once the beans are submerged, keep the heat at a gentle simmer—not a rolling boil. I used to let mine bubble like a stew, and they’d turn mushy. A low simmer (small bubbles, occasional skimming) keeps them tender without falling apart.
Make-ahead tips for authentic pinto bean
Overnight Prep Advantage
Start by soaking your 1.5 cups dried pinto beans in 4 cups water overnight in a large bowl. This removes bitterness and reduces cooking time significantly. I use a large glass bowl with a lid or plastic wrap to keep it fresh.
The longer they soak, the better the texture—8-12 hours is ideal. Drain and rinse thoroughly before cooking to remove any residual soaking liquid. 🌱
Broth Prep Shortcut
Make a big batch of vegetable broth while the beans soak. I like to use low-sodium broth to control seasoning later, but you can also make your own by simmering onion scraps, celery, and carrot peels for 30 minutes.
Store it in the fridge for up to 5 days or freeze in ice cube trays for easy portioning. This saves time and ensures you always have flavorful broth on hand.
Flavor Layering Strategy
Toast your spices (cumin, oregano, smoked paprika) in a dry skillet over low heat for 1-2 minutes before adding them to the pot. This deepens their flavors dramatically. Store these toasted spices in an airtight container for up to 2 weeks—they’ll elevate any Mexican dish.
I also recommend pre-chopping onions and garlic while the beans soak to streamline the cooking process.
Freezer-Friendly Prep
After cooking, let the beans cool completely, then portion them into freezer-safe containers with a little extra broth. Leave 1-inch headspace for expansion. These freeze beautifully for up to 3 months.
When ready to eat, thaw overnight in the fridge and reheat gently on the stove with a splash of water to restore creaminess. I often prepare double batches so I always have a backup for tacos or burrito bowls. ❄️
Meal Prep Timeline
Here’s my foolproof schedule: Soak beans night before, make broth same day, and cook beans morning or afternoon. This gives you a ready-to-eat meal that’s perfect for lunches or dinners. Store in the fridge for 5 days—the flavors actually improve as they sit.
For extra convenience, keep a stash of pre-cooked beans in the freezer so you can quickly assemble meals like tacos or quesadillas.
Reheating Like a Pro
For best results, reheat beans on the stovetop over medium-low heat with 2-3 tablespoons water or broth to prevent drying. Cover and simmer for 5-7 minutes, stirring occasionally. Avoid microwaving—it makes beans mushy.
If reheating from frozen, add extra liquid and simmer for 10-12 minutes. A quick drizzle of avocado oil and sprinkle of smoked salt brings back that restaurant-quality finish. 🔥
Nutrition facts
Frequently asked questions
Why do I need to soak pinto beans overnight?
Soaking removes natural compounds that cause bitterness and gas, plus it cuts cooking time by 30-40 minutes. The longer they soak (8-12 hours), the creamier the final texture becomes. Don't skip this step—it's what makes these beans truly authentic and tender.
Can I substitute epazote if I can't find it?
Yes! Use ¼ teaspoon dried tarragon or ¼ teaspoon anise seeds as a substitute, though nothing matches epazote's signature anise-like flavor. If you're in a pinch, ½ teaspoon dried thyme works too, but the aroma won't be quite the same.
How do I make these beans vegan?
Omit the bacon completely and use vegetable broth instead of chicken broth. For extra depth, add 1 teaspoon liquid smoke or ½ teaspoon smoked paprika to the simmering beans. The smoky flavor remains just as rich and satisfying!
What's the secret to keeping the beans from getting mushy?
Simmer them at a gentle boil (just bubbles breaking the surface) and never boil vigorously. Add ½ cup hot water if the liquid gets too low, and always cook them covered. The beans are done when they're tender but still hold their shape—45 minutes is perfect for dried pintos.
Can I make this recipe in a slow cooker?
Sauté the aromatics first, then transfer everything to the slow cooker and cook on low for 6-7 hours or high for 3-4 hours. The slow cooker method actually enhances the smoky flavors. Just add ½ cup broth if the beans get too thick during cooking.