Side Dishes
This traditional Mexican pinto beans recipe brings the soul of Mexican home cooking to your table with its rich, smoky depth—achieved through slow simmering with lard and bacon fat.
The secret lies in soaking the beans overnight and cooking them low and slow, allowing flavors to meld into something deeply satisfying. I’ve perfected this method over years of testing, ensuring every bite delivers that authentic, hearty taste.
The recipe begins with a base of garlic, cumin, and bay leaf, which infuse the beans with earthy warmth. Bacon fat adds a smoky richness that’s impossible to replicate with substitutes, while lard keeps the beans tender and flavorful.
This isn’t just a side dish—it’s a flavor experience that pairs perfectly with rice, tacos, or even as a standalone meal. The texture is what sets it apart: creamy yet firm, with just the right bite.
What makes this version truly traditional is the patience required—no shortcuts here. The beans simmer for hours, absorbing the flavors until they’re impossibly tender, with a sauce that clings to each one. The aroma alone will fill your kitchen with nostalgia, transporting you to a Mexican abuela’s table.
Whether you’re serving it at a fiesta or a weeknight dinner, this recipe delivers restaurant-quality results at home.
For those who prefer a vegetarian version, I’ll show you how to adapt the recipe without sacrificing depth. The key is using a blend of oils and smoked paprika to mimic the bacon fat’s richness. Let’s get started on this timeless classic that’s as comforting as it is delicious.
Ingredients for traditional mexican pinto beans
Simple ingredients for a vegetarian pinto bean feast that tastes authentically rich and smoky.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried Pinto Beans 🌾 | 2 cups | Soaked overnight, drained |
| Vegetable Lard 🧈 | ½ cup | For traditional richness |
| Bacon Fat 🥓 | ½ cup | Vegetarian bacon fat substitute |
| Yellow Onion 🧅 | 1 whole | Chopped, medium size |
| Garlic Cloves 🧄 | 6 cloves | Peeled, roughly chopped |
| Ground Cumin 🌿 | 2 tbsp | Toasted for deeper flavor |
| Bay Leaves 🌿 | 2 whole | Dried, standard size |
| Smoked Paprika 🌶️ | 1 tbsp | For authentic smokiness |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| Vegetable Oil 🫒 | 2 tbsp | For initial cooking |
| Water 💧 | 8 cups | For soaking and cooking |
| Lime Juice 🍋 | 2 tbsp | Freshly squeezed |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
The beans are the heart of this dish, so don’t skimp on quality. Look for dried pinto beans at Mexican markets or specialty stores—they’ll have the best flavor. If you’re using canned beans, drain and rinse them well, but nothing beats the texture of dried. The lard and bacon fat substitute (vegetarian bacon fat works perfectly) is what gives these beans that traditional depth. You can find it at Whole Foods or health food stores, or make your own by rendering vegan bacon. The cumin and smoked paprika? Toast the cumin seeds in a dry pan for 30 seconds—it makes all the difference. Bay leaves add that earthy note that’s key to authentic flavor.
No lard or bacon fat? Olive oil plus a teaspoon of liquid smoke gets you close, though it won’t be identical. Swap smoked paprika for regular paprika if needed, but add a pinch of sugar to balance the flavor. Running short on bay leaves? Dried thyme at half the amount works in a pinch. For the onion, no need to peel it—just chop the whole thing. The garlic can be minced or left whole (it’ll soften during cooking). Fresh cilantro is ideal, but dried cilantro or parsley works if you’re in a bind. The lime juice brightens everything up—don’t skip it even if you’re not a lime fan.
These beans taste even better the next day, so make a big batch. Store leftovers 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 rice and tortillas for easy lunches. The sauce thickens as it cools, so add a splash of water if it’s too thick when reheating. For extra richness, stir in a spoonful of vegetable lard or olive oil when reheating.
Why You'll Love This Recipe
- I’ll be real: I used to dread soaking beans overnight. But this recipe skips that step entirely—just rinse the dried pintos, then simmer them in bacon fat and lard while you chop onions. The beans soften perfectly without any fuss, and honestly? That rich fat infuses them with flavor while you’re making dinner.
- Here’s what sold me: these beans work everywhere. Slap them on a breakfast burrito, pile them high in a bowl with rice and cheese, or serve them alongside enchiladas. They’re the unsung hero that turns a simple meal into something hearty. (Yes, even on a Tuesday night.)
Step-by-step instructions for traditional Mexican pinto beans
Here's how to make these rich, slow-simmered beans with all the authentic Mexican flavors you crave.
Prepare the Beans and Render the Fats
Start by draining the soaked dried pinto beans and giving them a quick rinse. In a large, heavy-bottomed pot, melt together the vegetable lard and bacon fat over medium heat. I like to use a Dutch oven for this—it holds heat well and prevents scorching. Let the fats melt completely, then add the chopped yellow onion and roughly chopped garlic cloves. Cook for about 5 minutes until the onions soften and become translucent.
This initial step is crucial—rendering the fats properly creates that deep, savory foundation. You'll know it's ready when the onions release their sweetness and the garlic starts to turn golden around the edges. Keep the heat steady; if it gets too hot, the fats will burn and ruin the flavor. Once the aromatics are cooked, remove them from the pot and set aside for later.
Toast the Spices and Build the Flavor Base
With the fats still in the pot, reduce the heat to medium-low and add the ground cumin and smoked paprika. Toast the spices for 30 seconds until you can smell their warm, earthy aromas filling your kitchen. This step unlocks their full flavor potential—don't skip it! Immediately add the bay leaves, salt, and black pepper, stirring everything together.
Here's where the magic happens: the spices should sizzle gently without burning. If they start to darken too quickly, reduce the heat further. After about 1 minute of toasting, pour in the 2 tablespoons of vegetable oil and stir to combine. This creates an aromatic oil that will infuse the beans with incredible depth. Now add the drained pinto beans and give everything a good stir to coat the beans evenly in the spiced fat mixture.
Simmer the Beans with Liquids
Pour in the 8 cups of water and bring the mixture to a gentle boil over medium-high heat. Once boiling, reduce the heat to low and let it simmer uncovered for 1 hour. This initial simmer helps break down the beans' skins and softens them for the long cook ahead. I like to stir occasionally during this first hour, but not too vigorously—just enough to prevent sticking at the bottom.
After 1 hour, add the cooked onions and garlic back to the pot. They'll release their flavors into the beans during the remaining cooking time. The beans should be softening but still hold their shape—this is normal at this stage. If the liquid level gets too low, add a little hot water to maintain the proper consistency. The goal is to keep everything simmering gently without boiling too hard, which can cause the beans to break apart.
Finish with Lime and Rest
Continue simmering for an additional 2 to 3 hours, or until the beans are completely tender with a creamy texture. The cooking time might vary slightly depending on your stove and pot, but you'll know they're done when a bean easily crushes between your fingers with just light pressure. About 30 minutes before the beans are finished, stir in the lime juice. This brightens the flavors and balances the richness of the lard and bacon fat.
Remove the pot from heat and let the beans rest for 10 minutes. This resting period allows the flavors to meld together perfectly. Before serving, taste and adjust the seasoning if needed—sometimes the beans need a little more salt or lime to reach that perfect balance. Garnish with the chopped fresh cilantro just before serving to add a fresh, herbaceous finish that complements all the rich, smoky flavors.
Serve Warm with Cornbread
Ladle the beans into serving bowls and serve immediately with warm tortillas or cornbread. The beans should be thick and creamy with a beautiful mahogany color from the smoked paprika. Each bite should deliver that perfect combination of smoky, spicy, and slightly sweet flavors that make these beans so irresistible. The texture should be creamy yet still hold some bite from the beans themselves.
These traditional Mexican pinto beans are perfect for meal prep too—they actually taste better the next day as the flavors continue to develop. Store leftovers in the refrigerator for up to 5 days or freeze for up to 3 months. The rich, flavorful broth makes these beans even more delicious when reheated, so you'll want to make extra for leftovers!
Pro Tips For Making Traditional Mexican Pinto Beans
- SOAK BEANS OVERNIGHT: Dried pinto beans need a good long soak—at least 8 hours, ideally overnight. I used to rush this and end up with beans that never quite softened, no matter how long I simmered them. Trust me, the extra time makes all the difference in texture and digestibility.
- COOK FAT IN STAGES: Render the bacon fat first, then add the vegetable lard—this keeps the onions from burning while building flavor. I learned this the hard way after charring my onions into oblivion. Start with the bacon fat on medium-low, then crank up the heat for the lard when the onions are translucent.
- SKIP THE BOILING START: Once your beans are soaked, start them in cold water and bring to a gentle simmer—never a rolling boil. Boiling toughens beans and makes them split open, turning your rich stew into a mushy mess. A steady simmer (barely bubbles) keeps them intact and creamy.
- SAVE THE SOAK WATER: Don’t dump that starchy soak water—use it to start your beans. The natural sugars and pectin help break down the skins and add depth of flavor. I was skeptical until I tried it, and now I swear by it for that authentic, restaurant-style taste.
Storing and reheating this dish
Refrigerator Storage
Store your cooked pinto beans in an airtight container with a tight-fitting lid to preserve all those rich, smoky flavors. I recommend glass containers like Pyrex with snap-on lids—they keep the beans fresh longer and won’t absorb odors.
Let the beans cool completely before refrigerating to prevent condensation, which can make them soggy. Once cooled, they’ll keep in the fridge for up to 5 days, with flavors actually deepening as they rest. 💛
Freezer Prep Tips
For long-term storage, portion the beans into freezer-safe containers or heavy-duty freezer bags, leaving 1-inch headspace for expansion. Press out excess air to prevent freezer burn—this is critical for maintaining texture. I like to freeze them in 1-cup portions for easy meal prep.
Label with the date and freeze for up to 3 months. The beans will keep their creamy texture when thawed properly. ❄️
Stovetop Reheating
My preferred method for reheating is stovetop—it preserves the beans’ creamy texture perfectly. Transfer beans to a pot and add ¼ cup water or broth to prevent sticking. Heat over medium-low heat for 10-15 minutes, stirring occasionally.
If the sauce thickens too much, add a splash more liquid. Taste and adjust seasoning—beans often need a pinch of salt or lime juice after reheating. 🔥
Microwave Method
For quick reheating, cover beans with a damp paper towel and microwave on medium power (50%) in 1-minute intervals, stirring between each. This prevents uneven heating and keeps the texture intact. Start with 2 minutes, then continue in 30-second bursts until reaching 165°F internal temperature.
Add a splash of water if they look dry. This method works best for single servings. ⏰
Thawing Frozen Beans
Thaw overnight in the fridge for best results—this preserves texture and prevents uneven heating. If short on time, place the sealed container in cold water for 1 hour, changing the water every 15 minutes.
Never microwave frozen beans directly, as this creates a mushy texture. Once thawed, reheat using the stovetop method for optimal flavor. 💡
Meal Prep Strategy
Double the recipe and store half for later—these beans taste even better the next day! I like to prep 2 batches on Sundays: one for immediate use and one to freeze.
Pair with pre-cooked rice and tortillas in airtight containers for grab-and-go meals. The flavors meld beautifully overnight, making this a perfect make-ahead dish for busy weeks. 📅
Nutrition facts
Frequently asked questions
Why do traditional Mexican recipes use lard and bacon fat?
These fats create a deep, smoky richness that's impossible to replicate with vegetable oils. The lard tenderizes the beans while the bacon fat adds that authentic savory depth that's been used in Mexican kitchens for generations. For a vegetarian version, use a bacon fat substitute or a blend of olive oil and smoked paprika.
Can I use canned beans instead of dried?
Yes, but the texture and flavor won't be the same. Canned beans are pre-cooked and lack the deep, creamy texture developed through slow simmering. If using canned, drain and rinse them well, then simmer in the broth for 1 hour to absorb the flavors. For best results, stick with dried beans soaked overnight.
How do I know when the beans are fully cooked?
They're done when they're tender but still hold their shape with a slight bite. The easiest test is to crush a bean between your fingers—it should be creamy but not mushy. Total cooking time is usually 3-4 hours, but this varies based on your stove and pot. Never rush this step!
What's the best way to store leftovers?
Store in airtight containers for up to 5 days in the fridge or 3 months in the freezer. For freezing, portion into 1-cup servings and press out excess air. The flavors actually improve overnight, making them perfect for meal prep. Always reheat gently to preserve texture.
Can I make these beans in a pressure cooker?
Use the same ingredients but reduce cooking time to 30-45 minutes on high pressure. After pressure cooking, let them sit for 10 minutes before releasing the pressure. The beans will still develop that creamy texture, though the flavor profile will be slightly different from the traditional stovetop method.
