Spiced Pinto Bean Soup with Chipotle and Fresh Cilantro
A hearty, smoky pinto bean soup infused with chipotle peppers and fresh cilantro, perfect for warming Cinco de Mayo gatherings. This mexican-inspired cinco de mayo (gluten free) ready in about 125 minutes pairs dried pinto beans, water, olive oil for a weeknight-friendly dinner that comes together with one pan and minimal cleanup. Each serving lands at about 280 calories and feeds 6, so it slots cleanly into a weekly meal plan and pairs well with rice, quinoa, or a quick salad. Tap "Plan a meal with the AI" below to drop this recipe into your week and send the ingredients straight to Instacart. Nutrition values are approximate, calculated from USDA FoodData Central (fdc.nal.usda.gov) — verify against ingredient labels for any health-driven dietary plan.
Ingredients
- 1 cup dried pinto beans
- 6 cups water
- 2 tbsp olive oil
- 1 large yellow onion, diced
- 2 medium carrots, diced
- 2 celery stalks, diced
- 4 garlic cloves, minced
- 2 chipotle peppers in adobo, chopped
- 1 tsp ground cumin
- 1/2 tsp dried oregano
- 1 bay leaf
- 1 1/2 tsp salt
- 1/2 tsp black pepper
- 1/4 cup fresh cilantro leaves, chopped
- 2 tbsp fresh lime juice
Equipment for this recipe
Top-rated tools to make this recipe successfully.
Instructions
- Step 1: Rinse 1 cup dried pinto beans and soak in water overnight or use quick soak by boiling for 2 minutes then resting covered for 1 hour; drain and rinse.
- Step 2: In a large pot, heat 2 tbsp olive oil over medium heat; add 1 large diced yellow onion, 2 diced carrots, and 2 diced celery stalks, sautéing for 6-8 minutes until softened and fragrant.
- Step 3: Stir in 4 minced garlic cloves, 2 chopped chipotle peppers in adobo, 1 tsp ground cumin, and 1/2 tsp dried oregano; cook for 1 minute until spices are aromatic.
- Step 4: Add the soaked pinto beans, 6 cups water, 1 bay leaf, 1 1/2 tsp salt, and 1/2 tsp black pepper; bring to a boil, then reduce heat and simmer uncovered for 1 1/2 hours until beans are tender and soup thickens.
- Step 5: Remove bay leaf; stir in 1/4 cup chopped fresh cilantro and 2 tbsp fresh lime juice right before serving for brightness.
Frequently asked questions
How long does Spiced Pinto Bean Soup with Chipotle and Fresh Cilantro take to make?
Total time is about 125 minutes (15 min prep + 110 min cook). Most home cooks find this fits comfortably into a weeknight; double the batch on Sunday for two dinners.
How do I store leftover Spiced Pinto Bean Soup with Chipotle and Fresh Cilantro?
Cool to room temperature within 2 hours, then store in an airtight container in the fridge for up to 4 days. Reheat covered in a 350°F oven for 10-12 minutes, or microwave at 70% power in 60-second bursts to keep dried pinto beans from drying out.
Can I substitute ingredients in Spiced Pinto Bean Soup with Chipotle and Fresh Cilantro?
Yes — most ingredients in this recipe have flexible swaps. For oil, use any neutral high-smoke-point oil (avocado, grapeseed, refined coconut). For aromatics, dried herbs at ⅓ the volume of fresh work in a pinch. The full ingredient list is shoppable on Instacart so you can see substitutes in real time.
How do I scale Spiced Pinto Bean Soup with Chipotle and Fresh Cilantro for a different number of people?
The recipe is written for 6 servings. Multiply each ingredient by (your serving target / 6). Cook time stays roughly the same up to 2x; for 3-4x batches, switch from a skillet to a sheet pan or stockpot so the food isn't crowded — overcrowding steams instead of browns.
Is Spiced Pinto Bean Soup with Chipotle and Fresh Cilantro gluten free?
Yes — this recipe is tagged gluten free based on its ingredient list. Always cross-check labels for packaged ingredients (sauces, broths, condiments) since formulations vary by brand.
What others are saying
- ★★★★★
This soup is amazing! The chipotle gave it a perfect smoky kick without being too spicy.
- ★★★★★
Made this for my family dinner and they all asked for seconds. So flavorful!
- ★★★★☆
Really good soup, but the beans took longer to soften than expected. Next time I'll start earlier.







