Table of Contents

Introduction
Craving a hearty bowl that’s rich, smoky, and satisfying without any meat? This best vegan chili recipe delivers deep flavor, plenty of plant protein, and a cozy texture that tastes even better the next day. It’s a true one-pot wonder: affordable pantry staples, simple steps, and flexible enough for meal prep, game day, or busy weeknights.
Ingredients (6–8 servings)

- 1 tbsp olive oil (or ¼ cup water for oil-free)
- 1 large onion, diced
- 1 red bell pepper, diced
- 1 medium carrot, diced
- 1 celery stalk, diced
- 4 cloves garlic, minced
- 2 tbsp chili powder (adjust to heat)
- 2 tsp ground cumin
- 1 tsp smoked paprika
- 1 tsp dried oregano
- ¼–½ tsp cayenne (optional)
- 2 tbsp tomato paste
- 1 × 28 oz (800 g) can crushed tomatoes (or passata)
- 2 cups (480 ml) of vegetable broth, with extra if required
- One 15-ounce (425 g) can of black beans, rinsed and drained
- 1 × 15 oz (425 g) can kidney beans, drained & rinsed
- 1 × 15 oz (425 g) can pinto beans, drained & rinsed (or sub corn)
- 1 tbsp soy sauce or tamari (use tamari for gluten-free)
- 1 tsp unsweetened cocoa powder (for depth and color)
- 1–2 tsp maple syrup (balances acidity)
- 1–2 tbsp lime juice (to finish)
- Salt & black pepper to taste
- Fresh cilantro & sliced scallions, for serving
Substitutions & Notes
- Spice blend: use chipotle powder for smoky heat; skip cayenne for kids.
- Beans: any combo works (cannellini, chickpeas).
- Gluten-free: use tamari and confirm broth is GF.
- Oil-free: sauté with water or broth; the chili stays silky.
Timing
- Prep: 10–15 minutes
- Cook: 35–40 minutes
- Total: ~50 minutes (faster than most slow-simmer chilis)
Step-by-Step Instructions
Step 1 — Sauté the aromatics

Warm oil in a heavy pot over medium heat. Add onion, pepper, carrot, and celery with a pinch of salt; cook 6–8 minutes until softened. Stir in garlic for 30 seconds.
Step 2 — Toast the spices & tomato paste

Add chili powder, cumin, smoked paprika, oregano, and cayenne. Stir 30–60 seconds until fragrant. Add tomato paste; cook 1–2 minutes to caramelize slightly.
Step 3 — Build the body
Stir in crushed tomatoes, vegetable broth, beans, soy sauce/tamari, cocoa powder, and maple syrup. Bring to a gentle simmer.

Step 4 — Simmer to develop flavor
Reduce heat, partially cover, and simmer for 20–25 minutes, stirring now and then. Add extra broth if it thickens too much.
Step 5 — Finish & balance

Stir in lime juice, then taste and adjust: salt for fullness, lime for brightness, maple for balance. Serve with cilantro and scallions.
Pro tip: If you like a thicker chili, mash a ladleful of beans against the pot walls or simmer uncovered the last 5–10 minutes.
Nutrition (approx. per serving, 1/8 batch)
~360 kcal • Protein: ~18 g • Carbs: ~55 g • Fiber: ~14–16 g why fiber matters for fullness & heart health • Fat: ~8–10 g • Sodium: varies by broth/soy sauce.
Make It Yours (Variations)
- Sweet Potato & Chipotle: add 2 cups diced sweet potato in Step 3; extend simmer until tender.
- Mushroom-Walnut “Meaty” Chili: sauté 250 g finely chopped mushrooms + ½ cup chopped walnuts in Step 1 before veggies.
- Red Lentil Boost: add ½ cup red lentils in Step 3 for extra body and protein (add ~1 cup more broth).
- Mole-Style: increase cocoa to 2 tsp and add a tiny pinch cinnamon.
- No-Tomato: swap tomatoes for more broth + 2–3 tbsp tomato-free “roasted pepper” puree.
Serving Suggestions
Top with avocado slices, crushed tortilla chips, vegan sour cream or yogurt, pickled jalapeños, hot sauce, or a squeeze of lime. Pair with cornbread, brown rice, baked potatoes, or a crisp green salad.
Common Mistakes to Avoid
- Watery chili: simmer uncovered near the end; mash some beans; avoid dumping in extra liquid all at once.
- Skipping spice toasting: 30–60 seconds unlocks aroma.
- Over-salting early: flavors concentrate as it reduces—salt at the end.
- No acid finish: lime or a splash of vinegar makes flavors pop.
Storage & Meal Prep

- Fridge: up to 4 days (tastes better on day 2).
- Freeze: up to 3 months; cool completely first.
- Reheat: stovetop with a splash of water; stir often.
- Jar lunches: portion with rice or baked potato; add toppings fresh.
| Section | Highlights |
|---|---|
| Timing | ~50 min total (10–15 prep, 35–40 cook) |
| Protein | ~18 g per serving (beans + optional lentils) |
| Key Flavor | Chili, cumin, smoked paprika, cocoa, lime |
| Diet Swaps | GF (use tamari), oil-free, kid-friendly |
| Freezer | Up to 3 months; great for meal prep |
FAQs
Can I make this in an Instant Pot?
Yes. Sauté Steps 1–2 on Sauté mode, add Step 3 ingredients, seal and cook 5 minutes (High); natural release 10 minutes. Finish with lime.
What if I only have dry beans?
Cook them separately until tender, then use ~4½–5 cups cooked beans in Step 3.
How do I make it mild for kids?
Use sweet paprika instead of cayenne/chipotle; keep chili powder low and offer hot sauce at the table.