Soups & Stews
This authentic Mexican bean soup recipe brings the smoky, spiced soul of Mexican home cooking to your pot. The secret lies in slow-simmered beans, charred tomatoes, and a blend of chipotle and cumin that creates deep, complex flavors.
I've perfected this recipe over years of testing—each ingredient plays a crucial role in delivering that restaurant-quality taste at home.
What sets this soup apart is the balance of textures and flavors: tender pinto beans, hominy for a satisfying bite, and a rich broth infused with garlic, onions, and warm spices. The chipotle in adobo adds that signature smoky heat, while cumin and oregano ground the dish in tradition.
Unlike many versions, this recipe builds flavor gradually, ensuring every spoonful is packed with authentic Mexican character.
By the time you're done, you'll have a soup that's hearty enough for a cold day but light enough for lunch. The beans are perfectly tender, the broth is fragrant and deep, and the spices harmonize without overpowering.
Serve it with warm tortillas, cornbread, or over rice to complete the meal—each bite will transport you to a bustling Mexican kitchen.
This recipe also works beautifully for meal prep, keeping its flavors intact for up to five days in the fridge. The slow simmering makes it foolproof, and the ingredients are simple yet transformative. Let's get cooking—your taste buds will thank you.
Ingredients for authentic mexican bean soup
Sixteen ingredients, one soulful soup—authentic Mexican flavors in every spoonful.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried Pinto Beans 🌱 | 2 cups | Rinsed before soaking |
| Canned Hominy 🌽 | 1 can | Drained and rinsed |
| Chipotle Peppers in Adobo 🔥 | 2 tbsp | Adjusted for heat preference |
| Ground Cumin 🌿 | 1 tbsp | Toasted for deeper flavor |
| Dried Oregano 🍃 | 1 tbsp | Mexican oregano preferred |
| Garlic Cloves 🧄 | 4 cloves | Peeled and smashed |
| Yellow Onion 🧅 | 1 whole | Diced, medium size |
| Roma Tomatoes 🍅 | 4 whole | Charred for depth |
| Vegetable Broth 💧 | 4 cups | Low-sodium preferred |
| Canned Tomato Sauce 🍅 | 1 can | 28 oz can, crushed tomatoes |
| Bay Leaves 🌿 | 2 whole | Removed before serving |
| Olive Oil 🫒 | 2 tbsp | Extra-virgin preferred |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
The chipotle in adobo is non-negotiable for that signature smoky heat—La Costeña or Goya are my go-tos, but any brand works if it's labeled 'smoked'. Toast the cumin seeds in a dry pan for 30 seconds before grinding (trust me, it's worth it). For the beans, Bob's Red Mill dried pinto beans soak faster than store-brand, but any dried variety works. Char the tomatoes by holding them over a gas flame or under a broiler—this adds a smoky depth you can't replicate otherwise. The hominy? Maseca brand is the gold standard, but any canned hominy will do.
No chipotle in adobo? Smoked paprika at half the amount gets you close, but you'll lose that authentic smokiness. Short on cumin? Ground coriander at the same amount works, though the flavor shifts slightly. The vegetable broth can be swapped for water if needed, but low-sodium bouillon cubes elevate it fast. Fresh cilantro? Dried works at one-third the amount, but it's missing that bright finish. The Roma tomatoes can be subbed with vine-ripened tomatoes if that's what's in season—just make sure to char them. For extra richness, stir in a spoonful of nutritional yeast at the end.
This soup tastes even better the next day as flavors meld—make extra and freeze portions for up to 3 months. Store it in airtight containers, and the broth stays fragrant for 5 days in the fridge. The cilantro keeps best in a sealed container with a paper towel inside. To reheat, add a splash of water or broth—it thickens as it cools. Serve with warm corn tortillas or crusty bread to soak up every last drop of that smoky, spiced goodness.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe—just toss everything into one pot, walk away, and let the beans soak overnight. No chopping, no fuss, and honestly? The flavor deepens while you sleep.
- Smoky Depth Bomb: That chipotle in adobo? It’s the star—smoky, slightly sweet, and just spicy enough to wake up your taste buds. The cumin and oregano tie it all together like a warm hug in a bowl.
- Crowd-Pleaser Any Day: This soup works for game day, lazy Sundays, or when your college kid calls asking for "real food." The hominy adds that creamy texture everyone loves, and it’s cheap enough to feed six for under $10.
- Leftovers That Save Me: Between us, this soup only gets better the next day. I make a big batch on Sundays, and by Wednesday, it’s still my go-to—heating it up with a splash of water and a sprinkle of cheese makes it feel brand new. Budget-friendly? Absolutely.
Step-by-step instructions for authentic Mexican bean soup
This method delivers restaurant-quality flavor with smoky chipotle and earthy cumin—the heart of authentic Mexican cooking.
Soak and Prepare the Beans
Start by rinsing the 2 cups dried pinto beans under cold water to remove any debris. Place them in a large bowl and cover with plenty of water—at least 4 inches above the beans. Let them soak for 8-12 hours or overnight at room temperature. I like to use a colander in the sink for easy draining later.
Soaking softens the beans and dramatically reduces cooking time. Don't skip this step—the beans won't soften properly without it. After soaking, drain the beans and set them aside. You'll notice they've nearly doubled in size, which means they're ready to absorb all that delicious flavor.
Char the Tomatoes and Sauté Aromatics
While the beans soak, prepare the 4 whole Roma tomatoes by cutting them in half crosswise. Heat a dry skillet over medium-high heat and place the tomato halves cut-side down. Let them char for 4-5 minutes until blackened in spots—this adds incredible depth of flavor. Transfer to a bowl and set aside.
In the same skillet, add 2 tablespoons olive oil and heat over medium heat. Add the diced yellow onion and cook for 5 minutes until softened. Add the 4 smashed garlic cloves and cook for another 30 seconds until fragrant. Be careful not to let the garlic burn—it should smell amazing but not bitter.
Build the Flavor Base
To the skillet with onions and garlic, add the 2 tablespoons chipotle peppers in adobo (minced if they're not already finely chopped) and the 1 tablespoon toasted ground cumin. Stir for 1 minute until the chipotle peppers release their smoky aroma. Add the 1 tablespoon dried oregano and stir for another 30 seconds to toast the spices.
Now add the charred tomatoes (with their juices), 1 can canned tomato sauce, and 4 cups vegetable broth. Stir well to combine all the ingredients. Bring to a gentle simmer, then add the 2 whole bay leaves. This is where all the flavors start melding together—let it simmer uncovered for 10 minutes to develop the base.
Combine and Simmer the Soup
Add the drained pinto beans and 1 can drained and rinsed hominy to the simmering liquid. Stir gently to combine. Bring to a boil, then reduce heat to low and let it simmer uncovered for 45-60 minutes. The beans are done when they're tender but still hold their shape—you should be able to crush them easily between your fingers with a fork.
I check for doneness by tasting a bean—it should be soft but not mushy. If the soup looks too thick, add a little more vegetable broth. The hominy will add a lovely creaminess as it absorbs all those smoky flavors. Stir occasionally to prevent sticking, but don't over-stir or you'll break up the beans too much.
Finish and Serve
Once the beans are perfectly tender, remove the 2 bay leaves and discard them. Stir in the 1.5 teaspoons salt and 0.5 teaspoon black pepper. Taste and adjust the seasoning—you might need a little more salt to balance the flavors, especially if you used low-sodium broth.
Ladle the soup into bowls and garnish each serving with 0.25 cup chopped fresh cilantro. The cilantro adds a bright, fresh contrast to the rich, smoky flavors. Serve immediately with warm tortillas or crusty bread to soak up every last drop of that delicious broth. This soup tastes even better the next day as the flavors continue to develop!
Pro Tips For Making Authentic Mexican Bean Soup
- SOAK BEANS OVERNIGHT: DESCRIPTION: I learned this the hard way—rushing soaks with dried pinto beans leaves them tough no matter how long you simmer. Use 8 cups water per pound of beans, cover, and let them sit 12+ hours. The longer they soak, the creamier your soup will be, and you’ll skip the awkward 30-minute pre-soak boil that wastes energy.
- TOAST THE CUMIN: DESCRIPTION: Skip the raw cumin, or your soup will taste like dust. Dry-toast 1 tablespoon of ground cumin in a skillet over medium heat for 30 seconds—just until it smells toasty and aromatic. Stir it into the soup after adding the adobo sauce, so the heat doesn’t burn off its flavor.
- CHOP ADOBO PEPPERS FINE: DESCRIPTION: Whole chipotle peppers in adobo sink to the bottom and turn your soup into a surprise spice lottery. Mince them with the seeds (for heat) and mix them into the broth before adding the hominy. This way, every spoonful gets that smoky depth without the texture shock.
- ADD HOMINY LAST: DESCRIPTION: Dump hominy in early, and it turns to mush—you’ll end up with a gluey soup instead of those tender, intact kernels. Heat the broth with beans and spices until thick, then stir in hominy just 5 minutes before serving. It’ll stay intact and soak up all the flavor.
Make-ahead tips for this recipe
Prep Ahead Strategy
Start by soaking the 2 cups dried pinto beans overnight in the fridge—this saves time and ensures even cooking. I like to use a large glass bowl with a lid for easy storage.
The beans will triple in size, so use a bowl that can comfortably hold them with plenty of water (at least 4 inches above). 🌱
Broth Base Prep
Prepare the broth base the night before by sautéing the diced yellow onion and smashed garlic cloves in 2 tablespoons olive oil. Add the chipotle peppers in adobo, ground cumin, and oregano, then mix in the 4 cups vegetable broth and 1 can tomato sauce.
Store in an airtight container in the fridge—this step develops deeper flavors overnight.
Charred Tomatoes
Char the 4 Roma tomatoes ahead of time and store them in a sealed container with their juices. The smoky flavor intensifies when refrigerated, giving your soup an extra layer of depth.
I use a small glass jar with a lid for easy storage and reheating. This step can be done up to 2 days in advance.
Freezer-Friendly Portions
Divide the fully cooked soup into quart-sized freezer bags, leaving 1 inch headspace for expansion. Label each bag with the date—this soup keeps for 3 months without losing quality.
When ready to eat, thaw overnight in the fridge, then reheat on the stovetop with 2 tablespoons water to restore creaminess. ❄️
Make-Ahead Garnishes
Pre-chop the 0.25 cup fresh cilantro and store it in a small container lined with a paper towel to absorb moisture. Keep it in the fridge for up to 3 days.
For extra convenience, toast corn tortillas or bolillo bread ahead of time and store in an airtight container—they stay fresh for 2 days at room temperature.
Reheating Perfection
For the best texture, reheat the soup on the stovetop over medium-low heat for 10-15 minutes, stirring occasionally. If it thickens too much, add 2-3 tablespoons broth or water.
Avoid microwaving—it can make the beans mushy. The flavors actually improve after reheating, making this a perfect make-ahead meal for busy weeknights. 🔥
Nutrition facts
Frequently asked questions
Can I use canned beans instead of dried?
Yes, you can substitute 2 (15 oz) cans of pinto beans (drained and rinsed) for the dried beans. However, the flavor won't develop as deeply since dried beans absorb more of the broth's spices during the long simmer. If using canned, add them at the end of cooking to prevent mushiness. For best results, use dried beans—they're worth the extra time!
How do I adjust the heat level?
This recipe uses 2 tablespoons chipotle in adobo for a medium heat. For milder soup, reduce to 1 tablespoon or swap with 1 teaspoon smoked paprika. For extra spice, add 1/2 teaspoon cayenne pepper or an additional 1 tablespoon chipotle. Always taste as you go—you can't take heat out, but you can always add more!
What's the difference between Mexican oregano and regular oregano?
Mexican oregano (also called Mexican marjoram) has a stronger, more citrusy, and slightly peppery flavor than Mediterranean oregano. It's essential for authentic Mexican bean soup. If you only have regular oregano, use 1.5 tablespoons instead of 1 tablespoon. For a closer match, combine 1 tablespoon regular oregano with 1/2 teaspoon thyme. The flavor won't be identical, but it'll work in a pinch!
Can I make this soup vegetarian?
This recipe is already vegetarian-friendly. For a vegan version, use vegetable broth and ensure your tomato sauce and hominy contain no animal products. Some brands of hominy are made with lard, so check the label. The smoky chipotle and cumin flavors shine even more when the soup is fully plant-based. Serve with vegan tortillas or cornbread for a complete meal!
Why did my soup turn out too thick?
This usually happens when the beans release too much starch during cooking. To fix it, stir in 1/4 to 1/2 cup warm vegetable broth or water while reheating. For prevention, skim excess foam from the surface during simmering and avoid over-stirring. If the soup is too thick right after cooking, reduce the simmer time slightly next time—45 minutes is ideal for tender beans without excess thickening.
