Traditional Mexican Pinto Beans Recipe: Slow-Simmered Lardons and Cumin Perfection

Side Dishes

Traditional Mexican Pinto Beans Recipe: Slow-Simmered Lardons and Cumin Perfection

This traditional Mexican pinto beans recipe delivers the deep, smoky flavor that defines Mexican home cooking—slow-simmered with lardons, cumin, and epazote for an authentic taste. The key lies in proper soaking and simmering, which transforms tough beans into tender, flavorful bites that pair perfectly with rice or tacos.

My version stays true to regional traditions while being adaptable for modern kitchens.

What sets these beans apart is the balance of earthy cumin, garlicky aromatics, and the distinct herbal note of epazote—a staple in Mexican cuisine that adds complexity. The slow cooking process develops rich, caramelized flavors without requiring constant attention.

This method works equally well for vegetarian diets or can be made vegan with vegetable broth, making it versatile for any table.

By the time you serve these beans, they’ll be perfectly tender yet firm, with a sauce that’s thick enough to coat every spoonful. The lardons add a savory depth, while the spices create warmth that lingers long after the first bite.

This dish isn’t just a side—it’s a celebration of Mexican tradition, brought to life in your kitchen.

Serve alongside grilled meats, rice, or tortillas for a complete meal, or enjoy them as a hearty standalone dish. The leftovers keep well for days, making this recipe both practical and deeply satisfying. Let’s get started on creating something truly traditional.

👨‍🍳
Difficulty
Medium
🔥
Calories
Low Cal

Ingredients for traditional mexican pinto beans

Pantry staples meet Mexican tradition—just 15 ingredients for beans that taste like home.

Ingredient Amount Notes
Dried Pinto Beans 🌱 1 ½ cups Rinsed thoroughly before soaking
Vegetable Broth 💧 4 cups Low-sodium preferred for balance
Vegetable Oil 🫒 2 tbsp For sautéing aromatics
Yellow Onion 🧅 1 whole Diced into 1/4-inch pieces
Garlic Cloves 🧄 4 cloves Minced finely for depth
Ground Cumin 🌿 1 ½ tbsp Toasted for enhanced aroma
Dried Oregano 🍃 1 tbsp Mexican oregano preferred
Bay Leaves 🍃 2 whole Fresh or dried
Epazote 🌿 ¼ cup Chopped fresh leaves only
Smoked Paprika 🌶️ 1 tsp For authentic smoky depth
Salt 🧂 1 ½ tsp Diamond Crystal kosher
Black Peppercorns 🌶️ ½ tsp Freshly cracked
Lime 🍋 1 whole Juiced at the end
Cilantro Leaves 🌿 ¼ cup Chopped for garnish
Avocado Oil 🫒 1 tbsp For finishing drizzle

The beans are the heart of this dish, so don't skimp on quality. Bob's Red Mill or Anthony's Good Bean are my go-tos for dried pinto beans—they soak evenly and hold their shape. Epazote is the secret weapon here; find it in the Latin section of Whole Foods or H Mart. If you can't get fresh epazote, Mexican oregano at double the amount works in a pinch. The vegetable broth should be rich but not salty—Imagine or Pacific Foods brands are reliable. For the oil, avocado oil has a neutral flavor that won't overpower the spices, but any high-smoke-point oil works.

No epazote? Mexican oregano or a pinch of tarragon adds a similar earthy note. Short on cumin? Ground coriander at half the amount bridges the gap. The lime should be fresh—no bottled juice here. For extra richness, stir in 1/4 cup of tomato paste with the spices. If you're making this ahead, freeze the cooked beans in portions—they reheat beautifully. The avocado oil at the end isn't just for flavor; it adds a silky texture that makes every bite feel special.

These beans taste even better the next day as the flavors meld. Store them in an airtight container in the fridge for up to 5 days, or freeze for 3 months. I like to portion them into containers with a little extra broth so they're ready to reheat with minimal effort. The lime and cilantro should be added fresh right before serving—they brighten up the dish instantly. For a vegan version, just ensure your broth is vegetable-based and skip any accidental meat-based ingredients. Serve with warm tortillas or over rice for the full experience.

❤️

Why You'll Love This Recipe

  • Soak-Free Shortcut: I’ll admit, I used to dread soaking beans—but these pinto beans? Just a quick rinse and a 10-minute simmer in broth, and they’re ready. No overnight prep, no fuss.
  • Garlic-Onion Magic: That slow caramelization of the onion and garlic? It’s the secret—deep, savory, and just sweet enough. Honestly, the aroma alone makes my kitchen smell like a Mexican abuela’s home.
  • Meal Prep MVP: Double the batch, store in the fridge, and you’ve got a week’s worth of lunches or burrito fillings. (Yes, even on a Tuesday night.) The flavor actually improves after a day or two—trust me.
  • Budget Stretch: A pound of dried beans feeds six for under $2. Add rice, tortillas, or cheese, and suddenly you’ve got a full meal without breaking the bank. My wallet thanks me every time.

Step-by-step instructions for traditional Mexican pinto beans

Here's how to achieve that deep, smoky flavor and tender texture that defines authentic Mexican pinto beans.

1

Soak and Prepare the Beans

Place the 1.5 cups dried pinto beans in a large bowl and cover them with cold water by about 2 inches. Let them soak overnight—this ensures they cook evenly and prevents that gummy texture we're all trying to avoid. After soaking, drain and rinse the beans thoroughly under cold water to remove any skin that might have loosened during soaking.

While the beans soak, toast the 1.5 tablespoons ground cumin in a dry skillet over medium heat for about 1 minute until fragrant. This simple step amplifies the cumin's aroma and gives your beans that professional depth of flavor. Let the toasted cumin cool completely before using it in the recipe.

2

Sauté the Aromatics

Heat the 2 tablespoons vegetable oil in a large pot over medium heat. Add the diced 1 whole yellow onion and cook for 5-6 minutes until softened and translucent. The onions should be golden at the edges but not browned—this prevents bitterness that can overpower the delicate bean flavors.

Add the 4 minced garlic cloves and cook for another 30 seconds until fragrant. Here's where it gets good—stir in the toasted 1.5 tablespoons ground cumin, 1 tablespoon dried oregano, 1 teaspoon smoked paprika, 1.5 teaspoons salt, and 0.5 teaspoon cracked black peppercorns. Cook these spices for 30 seconds to toast them slightly, which releases their essential oils and creates that complex, layered flavor profile we're after.

3

Simmer the Beans

Add the drained beans, 2 whole bay leaves, and 4 cups vegetable broth to the pot. Bring everything to a boil, then immediately reduce heat to low and cover with a lid. Let the beans simmer gently for 1 hour, stirring occasionally to prevent them from sticking to the bottom of the pot.

After 1 hour, add the 0.25 cup chopped fresh epazote leaves. This herb is essential for authentic Mexican flavor—it adds a slightly peppery, anise-like note that balances the earthiness of the beans. Continue simmering uncovered for another 30-45 minutes, until the beans are tender but still hold their shape. You'll know they're done when they're easily pierced with a fork but don't fall apart.

4

Finish and Serve

Remove the bay leaves and adjust the seasoning if needed. The beans should be flavorful but not salted to the point of being inedible. Juice the 1 whole lime and stir it into the beans along with the 1 tablespoon avocado oil. This final touch brightens the flavors and adds a silky texture to the finished dish.

Let the beans rest for 5 minutes before serving. This allows the flavors to meld together perfectly. Garnish with the 0.25 cup chopped cilantro leaves just before serving to add a fresh, vibrant contrast to the rich, smoky bean base. These beans are perfect served alongside grilled meats, rice, or warm tortillas for a complete Mexican meal experience.

👨‍🍳

Pro Tips For Making Traditional Mexican Pinto Beans

  • SOAK BEANS OVERNIGHT: I learned this the hard way—skipping the soak leaves you with beans that never quite soften right. Cover dried pintos in cold water (3:1 ratio) and let them sit 8–12 hours. No time? A quick 2-hour soak in hot water works, but overnight gives you that creamy texture traditional recipes rely on.
  • SWEAT ONIONS LOW: Crank the heat too high, and your onions burn before they caramelize. Use medium-low and let them cook uncovered for 8–10 minutes, stirring occasionally, until they’re translucent and just starting to turn golden. This builds the base flavor without bitterness—no one wants burnt onions in their beans.
  • SKIP THE BOIL: After soaking, start beans in cold broth (not hot) and bring to a gentle simmer. Boiling hard makes them tough and splits the skins. Keep the heat low enough that you barely see bubbles—this keeps them tender and intact, just like abuela’s version.
  • STIR IN GARLIC LATE: Add raw garlic cloves whole when beans are nearly done (last 15 minutes). They’ll soften and infuse flavor without burning. I was skeptical until I tried it—whole cloves add depth without overpowering, and you avoid that bitter garlic taste that ruins the dish.

Common mistakes when making great traditional mexican pinto beans

Skipping the Soak

Never skip soaking your dried pinto beans—this is the #1 mistake that leads to gummy, unevenly cooked beans. I’ve seen people rush this step and end up with a mushy mess. Soak them for at least 8 hours (overnight is ideal) to break down complex sugars and tough skins.

If you’re short on time, use the quick-soak method: Boil beans for 2 minutes, then let them sit off heat for 1 hour before draining. 🌱

Under-Soaking or Over-Soaking

Both extremes ruin your beans. Under-soaking (less than 4 hours) leaves them tough, while over-soaking (more than 12 hours) causes skins to split, turning your beans into a gluey sludge.

I measure 2 inches of water above the beans and soak them exactly 8-12 hours. Drain and rinse them well before cooking to remove any loosened skins.

Ignoring the Epazote

Epazote is non-negotiable for authentic flavor—skipping it means missing that signature peppery, anise-like note. If you can’t find it, Mexican oregano at double the amount works, but it won’t be the same.

I buy mine at H Mart or Whole Foods in the Latin section. Add it 30-45 minutes before the beans are done—any earlier, and its flavor will fade into the broth.

Burning the Aromatics

Watch those onions and garlic like a hawk—they burn fast and add bitterness that ruins the dish. Cook onions over medium heat for 5-6 minutes until soft and translucent, then add garlic for just 30 seconds.

If they darken, start over. I use a heavy-bottomed pot to prevent hot spots. Toasting the spices (cumin, oregano, paprika) for 30 seconds is key—it releases their essential oils for maximum flavor. 🔥

Overcrowding the Pot

Don’t use a pot smaller than 6-quart capacity for this recipe—overcrowding leads to uneven cooking and a mushy texture. I use a Dutch oven because it gives enough room for the beans to move freely.

If your pot is too small, cook in batches or use a larger one. Stir occasionally to prevent sticking, especially during the first 30 minutes of simmering.

Rushing the Cook Time

Pinto beans need patience—rushing them results in tough, undercooked beans. Simmer them uncovered for 30-45 minutes after adding epazote until they’re tender but still hold their shape. Test with a fork: They should pierce easily but not fall apart.

I’ve seen people pull them off heat too soon, only to have them turn mushy later. Trust the process—it’s worth the wait. ⏳

Nutrition facts

Servings 4
Amount Per Serving
Calories 280kcal
% Daily Value *
Total Fat 10g13%
Saturated Fat 1.5g8%
Cholesterol 0mg0%
Sodium 380mg17%
Total Carbohydrate 45g16%
Dietary Fiber 12g43%
Sugars 2g
Protein 16g32%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Can I substitute epazote in this recipe?

Yes, but the flavor won't be identical. Use 2 tablespoons Mexican oregano or a pinch of tarragon as a substitute. Epazote adds a unique peppery-anise note that's essential for authentic Mexican beans. If you can't find it, try fresh dill at half the amount, though it won't be the same.

2

How long can I store cooked pinto beans?

Store them in an airtight container in the fridge for up to 5 days or freeze for 3 months. For freezing, portion into containers with a little extra broth to maintain moisture. Reheat gently on the stove with a splash of water or broth to restore texture. The flavors actually improve after the first day!

3

What makes these beans different from canned versions?

Homemade beans develop deeper, more complex flavors through slow simmering with authentic spices like toasted cumin and epazote. Canned beans often contain preservatives and lack the natural sweetness that develops during cooking. Plus, you control the salt and fat content—this recipe uses just 1.5 teaspoons of salt and healthy avocado oil.

4

Can I make this recipe without lardons?

For a vegetarian version, simply omit the lardons and use vegetable broth. The beans will still be rich and flavorful. If you want extra protein, add 1/2 cup cooked quinoa or 1/2 cup diced potatoes when simmering. The recipe maintains its authentic taste without meat.

5

Why do my beans turn out mushy?

Mushy beans usually result from either under-soaking (less than 4 hours) or overcooking after they're tender. Always soak beans overnight, then simmer until they're tender but still hold their shape—about 1.5-2 hours total. Stir occasionally and avoid covering the pot too tightly to prevent steam buildup.

★★★★★4.5(13 reviews)
Categories Side Dishes