clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon

All-Bean Mexican Chili

  • Author: Tessa
  • Total Time: 1 hour 50 mins
  • Yield: 8 to 10 cups (about 8 servings) 1x


It’s back to basics with this earthy, smoky chili. Unike some (of my) veggie chili recipes, the ingredient list is mostly found in your pantry and doesn’t call for an expensive slew of every vegetable under the sun.


  • 1 C dried pinto beans
  • 1 C dried kidney beans
  • 2 T kosher salt
  • 2 t epazote, optional (see notes)
  • 3 T vegetable oil
  • 3 1/2 C finely chopped white onion (1 1/2 large)
  • 2 T chopped garlic (about 4 cloves)
  • 1 T ground cumin
  • 2 t dried oregano
  • 4 t smoked paprika
  • 2 1/2 T chile powder
  • 2 C diced tomatoes, with juice, from can or box, no salt added (or use fresh when in season)
  • 1 t puree from can of chipotle chiles in adobo sauce
  • 1/4 C chopped cilantro
  • 1 T masa
  • Splash of sherry vinegar (or red wine vinegar)


  1. Soak dried beans (both varieties together) overnight or at least 8 hours in a large bowl with at least 1 1/2 quarts cold water.
  2. Drain beans and bring to a boil in a pot of 4 quarts water and 1 tablespoon salt, or the epazote, if using. After 10 minutes, remove any dirty, filmy looking bubbles with a wooden spoon. Reduce heat and simmer the beans partially covered as you prepare the rest of the recipe.
  3. In a medium skillet, heat vegetable oil over medium, then add onions and cook until barely softened, 7 to 8 minutes. Add next 5 ingredients, plus 1 1/2 teaspoons salt. Reduce heat to medium low and cook, stirring constantly, until onions are softened, about 5 minutes. Add tomatoes, chipotle chili puree, and cilantro and increase heat so the mixture simmers gently. Turn off heat after 15 minutes and stir in the masa.
  4. Remove 4 cups of cooking water from the beans (freeze for later use in soups or other chilis), using a ladle or liquid measuring cup. Transfer tomato and onion mixture into the pot with beans, and simmer uncovered until reduced to desired thickness, about 45 minutes for a thicker chili.
  5. Cool chili for 5 minutes, then taste and season accordingly with salt (I used 1 teaspoon) and a splash of sherry vinegar for brightness.


The chili does best made in advance. It can be refrigerated for about 4 days or frozen for months. Refresh the flavor with salt, if needed, and a splash of sherry vinegar or lime juice.

Unless you have experience or lots of confidence, I don’t recommend substituting pre-cooked beans, as it will significantly alter cooking times and required liquid volume.

Epazote is a dried Mexican herb often cooked with beans. It doesn’t smell great, but, when cooked with beans, it can help with the smells you’ll produce after eating them. I didn’t have any when I tested the recipe (and it turned out great), but I ordered some and will use it and report back next time.

Adapted from All-Bean Chili in Deborah Madison’s Vegetarian Cooking for Everyone.

The recipe is described as I made it, with the ingredients and quantities I used. However, chili, in my opinion, is not an exact science. Feel free to make substitutions (oil or vinegar type, regular paprika, a different kind of onion, added vegetables) and let me know how they came out!

  • Prep Time: 10 mins
  • Cook Time: 1 hour 40 mins
  • Category: Soup/Stew
  • Cuisine: Tex-Mex