
Smoky Chili Beans from Dried Pinto Beans
Tender, creamy pinto beans simmered low and slow on the stovetop with crisp bacon, jalapeño, garlic and chili powder in a rich, brothy, smoky sauce. Hearty enough for a main course, and great over rice or with cornbread.
- Prep
- 25 min
- Cook
- 2 hr 40 min
- Wait
- 8 hr 10 min
- Total
- 11 hr 15 min
- Makes
- About 3 quarts (8 generous bowls)
Steps
Before you start
- Soak the beans at least 8 hours (or overnight) before cooking, or use the quick-soak method in the tips.
- Pick through the dry beans and discard any stones, shriveled beans or debris, then rinse well.
- Use a heavy 6- to 8-quart pot with a lid so the beans simmer evenly without scorching. Everything is cooked on the stovetop; no oven is needed.
- Salt goes in the soaking water and again near the end; the soak seasons the beans through and keeps skins tender. Tomatoes and vinegar go in late because acid slows softening.
Soak the beans
- Put the rinsed pinto beans in a large bowl and add 3 quarts (2.8 L) cold water and the 1 tablespoon soaking salt.
- Stir to dissolve.
- Let soak at room temperature for 8 to 12 hours.
- Drain in a colander and rinse.
+ Show details− Hide details
Ready when: Beans are plump, about double in size, and no longer wrinkled
Tip: Soaked beans cook more evenly with fewer split skins; don't skip the salt.
Render the bacon
- Set the heavy pot over medium heat and add the chopped bacon.
- Cook, stirring occasionally, for 8 to 10 minutes until the fat has rendered and the bacon is browned and crisp at the edges.
- Remove the bacon with a slotted spoon to a plate, leaving the fat in the pot.
+ Show details− Hide details
Ready when: Bacon is deep golden and crisp; about 3 tablespoons fat remain in the pot
Tip: If there is far more than 3 tablespoons of fat, pour off the excess.
Soften the aromatics
- Add the onion and jalapeños to the bacon fat.
- Cook, stirring often, for 5 to 6 minutes until the onion is soft and translucent with lightly golden edges.
- Stir in the garlic and cook 30 seconds until fragrant.
+ Show details− Hide details
Ready when: Onion is translucent and soft; garlic smells fragrant but not browned
Tip: Don't let the garlic brown, or it turns bitter.
Bloom the spices
- Sprinkle in the chili powder, cumin and oregano.
- Stir constantly for 45 to 60 seconds so the spices toast in the fat and smell rich and aromatic.
+ Show details− Hide details
Ready when: Mixture looks like a thick, brick-red paste and smells toasty
Tip: If the pot looks dry or the spices stick, add a splash of broth right away.
Add beans and liquids
- Add the drained beans, chicken broth and 2 cups (475 ml) water.
- Scrape up any browned bits from the bottom of the pot.
- Stir in half of the cooked bacon (refrigerate the rest for serving) and the black pepper.
- Bring to a boil over high heat.
+ Show details− Hide details
Ready when: Liquid reaches a full boil with bubbles across the surface
Tip: Keep the beans covered by at least 1 inch (2.5 cm) of liquid.
Simmer until tender
- Reduce the heat to low so the surface barely bubbles.
- Cover with the lid slightly ajar and simmer for 1½ to 2 hours, stirring every 30 minutes and adding ½ cup (120 ml) hot water whenever the liquid drops below the top of the beans.
- Start tasting beans at 1½ hours.
+ Show details− Hide details
Ready when: Beans are creamy all the way through when you bite one, with no chalky center
Tip: A hard boil breaks the skins and makes the beans mushy; keep it to a gentle simmer.
Season and thicken
- Stir in the diced tomatoes with their juice, 1½ teaspoons salt and the cider vinegar.
- Simmer uncovered over medium-low heat for 20 to 30 minutes, stirring occasionally.
- Mash about ½ cup of beans against the side of the pot with the spoon to thicken the broth.
- Taste and add more salt if needed.
+ Show details− Hide details
Ready when: Broth coats the back of a spoon and is slightly thickened, like a loose stew
Tip: Adding tomatoes, salt and vinegar after the beans are tender keeps the skins from toughening.
Rest and serve
- Remove the pot from the heat and let it rest, covered, for 10 minutes so the broth thickens a bit more.
- Ladle into bowls and top with the reserved crisp bacon and chopped cilantro, if using.
+ Show details− Hide details
Ready when: Broth is glossy and spoonable, not watery
Good to know
Tips
- Quick soak: cover the beans with 2 inches of water, boil 2 minutes, cover, and stand off the heat for 1 hour, then drain and continue.
- Old beans (over a year) can take much longer to soften; if still firm after 2 hours, keep simmering and add hot water as needed before adding the tomatoes.
- Keep the tomatoes and vinegar for the end: acid keeps beans from softening.
- For a spicier pot, add ½ teaspoon cayenne with the chili powder.
Make ahead
The beans taste even better the next day. Cook completely, cool, and refrigerate up to 4 days, then reheat gently. Keep the reserved bacon separate and re-crisp it in a skillet before serving.
Storage & reheating
Room temperature: no more than 2 hours. Fridge: airtight container up to 5 days. Freezer: up to 3 months in portions with some broth; thaw overnight in the fridge. Reheat in a pot over medium-low heat, stirring and adding a splash of water or broth to loosen, until steaming hot (165°F / 74°C).
Substitutions
- thick-cut bacon → 3 tablespoons olive oil plus 1 teaspoon smoked paprika. For a vegetarian version, also use vegetable broth.
- low-sodium chicken broth → vegetable broth or water. If using water, add an extra ½ teaspoon salt at the end.
- jalapeños → 1 can (4 oz / 113 g) diced green chiles. Milder; add with the tomatoes.
- apple cider vinegar → 1 tablespoon fresh lime juice. Brighter, more citrusy finish.
More bean sides
See all →Find more like this
- Meal
- Dinner
- Cuisine
- Tex-Mex
- Main ingredient
- BaconBeans & Lentils
- Method
- Stovetop
- Season
- Winter Comfort Food




