This post may feature affiliate links. Please read our disclosure policy.

This sopa de frijoles (bean soup) is inspired by the bold flavors of Northern Mexico and Southern Texas. Creamy pinto beans are seasoned with cumin, Mexican oregano, and chipotle peppers, creating a spicy, smoky, and earthy dish.

Close Shot of Bowl of Vegan Sopa de Frijoles With Garnishes.
Sliced radishes are one of our favorite garnishes

📖 About

This pinto bean soup is a healthy, simple, and inexpensive recipe that’s great for a busy household. It’s made in under 30 minutes and uses easy-to-find pantry staples, making it the perfect weeknight dinner!

Soup is a favorite in our household because of how great the leftovers store in the fridge or freezer (check out our storage section for more info).

Although this isn’t necessarily a traditional Mexican, it’s inspired by recipes like frijoles charros or frijoles de olla.

While both usually contain various types of meat, the seasonings are earthy, creamy, smoky, and spicy. That combination never gets old!

History

There are many types of sopa de frijoles in Mexican cuisine — from sopa de frijol negro and sopa de habas to carne en su jugo or lentejas.

Beans are an extremely nutritious crop that has been feeding the Mexican population for thousands of years. In fact, they’ve been a staple of this region long before it was even called Mexico.

Beans are grown mainly in the western and northwestern regions of Mexico (Durango, Zacatecas, Chihuahua, Sinaloa, Sonora, and Nayarit), but they are a large part of most Latin American cuisine.

While black beans are more popular around the Southern regions (like Yucatan and Chiapas), pinto beans are commonly found in Northern Mexican and Tex-Mex dishes.

🌱 Is it vegan?

Of course, this sopa de frijoles is completely plant-based. But, there are a few things to watch out for when making your own recipe:

  • Beans: If you aren’t making beans from scratch, many canned varieities include pork lard or meat in their ingredient list. Always check the labels!
  • Cheese: While it’s common to use cotija or queso fresco as a garnish, you can easily replace them with a dairy-free almond cotija.
  • Crema fresca: Another common topping for bean soup is Mexican crema, which is similar to sour cream. Instead of a dairy-based crema, try cashew crema.
  • Broth: A lot of Latin American sopas de frijoles make use of meat-based broths, so just swap in vegetable broth or water instead.
Beans, Cumin, Mexican Oregano, Garlic, Lime Wedges, Diced Tomatoes, Onion, Vegetable Broth, and Chipotles in Adobo.
Cook your beans from dry for the best texture

🍲 Ingredients & substitutions

For complete ingredient measurements and instructions, see our recipe card.

  • Pinto beans: To add a creamy and sweet element. You can also use bayo, black, red kidney beans, or white kidney beans instead.
  • Chipotles: For a spicy and smoky taste. Try rehydrated guajillo, pasilla, or ancho chiles to switch up the flavors.
  • Tomatoes: Canned diced tomatoes give this dish more of a Tex-Mex vibe, but you can use fresh Roma tomatoes in their place.
  • Vegetable broth: Rounds out the soup. Use equal amounts water if you don’t have vegetable broth on hand.
  • Mexican oregano, cumin: Commonly used in Northern Mexican dishes, but you can omit them or use spices like paprika, coriander, cayenne, or ancho chile powder.
  • Onion, garlic: These savory ingredients really enhance the dish. Use more or less depending on your preferences.
  • Lime: Adds acidity and tanginess. Lemon or vinegar also work in a pinch.

🔪 Instructions

If you have questions about this sopa de frijoles recipe, check out our FAQs or leave a comment.

Step 1: Heat the olive oil in a stockpot over medium, then sauté the onions until they’re translucent.

Sautéed Onions, Cumin, Garlic, and Mexican Oregano in a Stockpot.
Add dried spices in early to open up the flavors

Step 2: Add in the garlic, cumin, and Mexican oregano next, and continue cooking until they’re fragrant.

Spices, Bayo Beans, and Diced Tomatoes in a Stockpot.
Use dried or canned beans

Step 3: Stir in the diced tomatoes, cooked pinto beans, and vegetable broth. Bring the soup to a boil, then reduce the heat to simmer gently for about 15-20 minutes.

Beans, Broth, Diced Tomatoes, and Chipotles in Adobo in a Blender.
Partially blend the soup for a creamier texture

Step 4: Transfer roughly ⅓ of the soup to a blender with the 2 chipotles in adobo and mix until smooth.

Hand Squeezing a Lime Over a Pot of Sopa de Frijoles.
Squeeze the lime in last for a more vibrant taste

Step 5: Add it back to the pot to simmer for a few more minutes. Squeeze in some fresh lime juice, and add salt and pepper to taste.

Bowl of Vegan Sopa de Frijoles With Garnishes.
Garnishes really make this soup

Step 6: Serve your sopa de frijoles while it’s warm with a dollop of vegan crema fresca, radishes, vegan cotija, cilantro, and lime wedges. Happy eating!

🥗 Serving suggestions

Soup and sandwiches go together like peanut butter and jelly! Try your sopa de frijoles with some of these popular Mexican tortas:

  • Pambazo: Bread rolls brushed with guajillo sauce and filled with soyrizo, potatoes, crema, and cotija.
  • Torta cubana: A heavily meat-based sandwich made plant-based with an oyster mushroom milanesa.
  • Tortas ahogadas: Jackfruit carnitas and pickled red onions served in a salsa-dunked torta.
  • Cemita poblana: Crispy oyster mushroom milanesa, smoky chipotles, papalo, and plant-based cheese all served on a cemita.

Soup garnish ideas: Diced white onions, cilantro, radishes, almond cotija, cashew crema, lime wedges, avocado, and tortilla chips.

🌡️ Storage

Pinto bean soup stores extremely well, which is why we recommend doubling or tripling the recipe for quick dinners during busy weeks.

  • Fridge: Keep it in an airtight container for up to 4-5 days.
  • Freezer: Let the soup cool completely, then transfer it to a freezer-safe bag or container and freeze for up to 3-4 months.
  • Reheat: Thaw your sopa de frijoles in the fridge overnight, then heat it in a pot on medium-low until warmed all the way through.

Note: Store all of your garnishes separately from the soup itself.

Spoonful of Sopa de Frijoles With a Radish, Cilantro, and Vegan Crema on Top.
Fresh garnishes go well with sopa de frijoles

♻️ Variations

  • Smooth: Try fully blending your soup for a smoother, creamier texture.
  • Chunky: Keep the beans whole for a more rustic and hearty version.
  • “Meat”: Use chorizo, carnitas, or tempeh bacon to add different textures and flavors to your soup.
  • Potatoes: Mix in regular or sweet potatoes for another variation in flavor.
  • Other vegetables: Add hearty vegetables like carrots, celery, or corn in addition to or instead of the tomatoes.

🧑‍🍳 Top tips

  • Cook beans from dry. This really enhances the flavor and texture in a way that canned beans just cannot match.
  • Add lime juice at the end. To preserve the fresh, vibrant flavor, we suggest stirring in lime juice at the end of the cooking process.
  • Use fresh spices. The flavors are more intense when your spices are freshly ground or at least stored in airtight jars.

💬 FAQ

Is sopa de frjoles gluten-free?

Yes, this sopa de frijoles recipe is gluten-free.

Can I make this soup in a slow cooker?

Yes, add all of the soup ingredients to a slow cooker. Set the time for 8 hours, then blend the soup as directed in the recipe card.

Can I use an immersion blender?

You can absolutely use an immersion blender to make this soup. The only thing to remember is the chipotle chiles will need to be chopped or blended separately.

Bowl of Vegan Sopa de Frijoles With Garnishes.

Sopa de Frijoles

Mitch and Justine
This sopa de frijoles features creamy pinto beans seasoned with cumin, Mexican oregano, and chipotle peppers, creating a spicy, smoky, and earthy dish.
5 from 3 votes
Prep Time 5 minutes
Cook Time 25 minutes
Total Time 30 minutes
Course Main
Cuisine Gluten-Free, Mexican, Vegan
Servings 6 servings
Calories 219 kcal

Equipment

  • Large stockpot
  • Chef knife & cutting board
  • Blender
  • Ladle

Ingredients
 

Soup

  • 1 tablespoon olive oil ($0.11)
  • 1 medium white or yellow onion, diced ($0.24)
  • 4 garlic cloves, minced ($0.16)
  • 1 tablespoon cumin ($0.03)
  • 1 teaspoon Mexican oregano ($0.03)
  • 28 ounces canned diced tomatoes ($0.76)
  • 4 cups cooked pinto beans, drained & rinsed ($0.64)
  • 2 cups vegetable broth or water ($0.10)
  • 2 chipotles in adobo ($0.08)
  • 2 tablespoons lime juice ($0.18)
  • Salt & pepper to taste ($0.02)

Garnishes optional

  • Vegan Mexican crema
  • Sliced radishes
  • Diced white onions
  • Chopped cilantro
  • Lime wedges
  • Tortilla strips
  • Avocado

Instructions
 

  • Heat olive oil in a stockpot over medium, then add diced onion and cook for 3-4 minutes, or until translucent. Add in garlic, cumin, and Mexican oregano, and cook for 1-2 minutes longer.
  • Stir in the diced tomatoes, pinto beans, and vegetable broth or water. Bring the soup to a boil, then reduce the heat to simmer gently for about 15-20 minutes.
  • Use an immersion blender, or transfer roughly ⅓ of the soup to a blender with the 2 chipotles in adobo and mix until smooth. Add it back to the pot to simmer for a few more minutes. Squeeze in lime juice, and add salt and pepper to taste.
  • Serve while warm with a garnish of vegan crema, sliced radishes, cotija cheese, cilantro, extra lime wedges, etc. Happy eating!

Video

YouTube video

Notes

  • Cook beans from dry. This really enhances the flavor and texture in a way that canned beans just cannot match.
  • Add lime juice at the end. To preserve the fresh, vibrant flavor, we suggest stirring in lime juice at the end of the cooking process.
  • Use fresh spices. The flavors are more intense when your spices are freshly ground or at least stored in airtight jars.
  • Optional ingredients are not reflected in the price or calories of our recipes.
  • We calculate nutritional information for our recipes with Cronometer.
  • Recipe cost calculations are based on ingredients local to us and may vary from recipe to recipe. All prices are in USD.

Nutrition

Serving: 1serving | Calories: 219kcal | Carbohydrates: 38g | Protein: 11.4g | Fat: 3.4g | Saturated Fat: 0.5g | Polyunsaturated Fat: 0.6g | Monounsaturated Fat: 2g | Trans Fat: 0g | Cholesterol: 0mg | Sodium: 482.1mg | Potassium: 693mg | Fiber: 12.1g | Sugar: 4g | Vitamin A: 521.2IU | Vitamin C: 11.1mg | Calcium: 97.6mg | Iron: 4.1mg
Don’t miss another recipe!Subscribe to our newsletter!

🍴 Similar recipes

If you want to try more Mexican soups, be sure to check out some of our other popular recipes:

  • Mexican black bean soup: Hearty black beans and vegetables topped with fresh garnishes.
  • Sopa de habas: An easy soup recipe with tender fava beans, savory vegetables, and tasty herbs and spices.
  • Carne en su jugo: Crispy jackfruit, shiitake mushrooms, and beans served in a tangy tomatillo broth.
  • Caldo de albóndigas: Black bean meatballs, potatoes, and squash bathed in a tomato-infused broth.
  • Vegan chili: Healthy and comforting chili topped with crispy tofu crumbles.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating




2 Comments

  1. 5 stars
    Made this for dinner tonight & wow! I followed the recipe exactly, and it’s definitely spicy, but in the most flavorful, perfect way. I served with plain coconut yogurt (my favorite vegan alternative to sour cream), a ton of cilantro, & a side of cilantro lime cauliflower rice. Thank you for this recipe!

    1. Hi Christin!

      Wow, that sounds like an incredibly delicious way to serve this soup! We’re definitely going to try serving it with cilantro lime cauliflower rice the next time we make it! We’re happy to know you enjoyed it 🙂