This isn’t one of those bland, watery vegetarian dishes that leaves you missing the meat. This chili hits hard with smoky spices, hearty beans, and rich tomato depth. It’s satisfying, it’s simple, and it just so happens to be meat-free.
Whether you’re vegetarian or just trying to eat more plants, this is the kind of meal that keeps everyone coming back for seconds.

Ingredients
- 2 tablespoons olive oil
- 1 yellow onion, diced
- 3 garlic cloves, minced
- 1 red bell pepper, chopped
- 2 medium carrots, diced
- 1 tablespoon chili powder
- 1 tablespoon ground cumin
- 1 teaspoon smoked paprika
- Salt and pepper to taste
- 1 can (15 oz) black beans, drained and rinsed
- 1 can (15 oz) kidney beans, drained and rinsed
- 1 can (28 oz) crushed tomatoes
- 1 cup vegetable broth
- 2 tablespoons tomato paste
- 1 teaspoon maple syrup (or sugar)
- Juice of 1 lime
Build Flavor From the Start
Start by heating the olive oil in a large pot over medium heat. Add the onion and cook it until it softens, about 5 minutes. Stir in the garlic, bell pepper, and carrots. Sauté for 6–8 minutes until everything begins to soften and caramelize. This step builds the flavor foundation, so don’t rush it.
Add the Spices Like You Mean It
Sprinkle in the chili powder, cumin, smoked paprika, salt, and pepper. Stir well and let the spices toast for about a minute. This wakes them up and makes the whole thing smell incredible.
Dump, Stir, Simmer
Add the beans, crushed tomatoes, broth, tomato paste, and maple syrup. Stir everything together and bring it to a boil. Once it starts bubbling, reduce the heat and let it simmer uncovered for about 30 minutes.
The longer it simmers, the thicker and better it gets. Stir occasionally to make sure nothing sticks to the bottom.
Finish Strong
Once the chili has thickened up and the flavors have deepened, turn off the heat. Squeeze in the lime juice. Give it a taste and adjust the seasoning if needed. Sometimes it needs just a pinch more salt or a dash of hot sauce.
Serve It Your Way
This chili is endlessly customizable. You can serve it in a bowl topped with shredded cheese (or vegan cheese), sliced avocado, sour cream or a dairy-free alternative, chopped green onions, or crushed tortilla chips.
It also goes great spooned over baked potatoes, rice, or roasted sweet potatoes. The flavors only improve after a night in the fridge, so leftovers are a win.
Why This Works (Even Without Meat)
The mix of beans gives this chili serious texture. The crushed tomatoes add richness, while the tomato paste and maple syrup balance the acidity.
And that squeeze of lime at the end? Total game-changer. You get layers of flavor, hearty bites, and a dish that feels complete on its own.
Easy Ways to Switch It Up
If you’ve got leftovers or just want to change it up, there are easy ways to remix this chili. Add chipotle peppers in adobo sauce for some heat, stir in cooked quinoa or bulgur to bulk it up, or blend a cup of chili and stir it back in to make it extra thick and creamy.
Final Thoughts
Vegetarian chili doesn’t have to be a consolation prize. This version brings real depth, real comfort, and zero sacrifice. It’s proof that going meatless can be just as rich and satisfying. Keep this one in your back pocket for weeknights, meal prep, or when you just want something cozy that doesn’t cut corners.