Mexican Stewed Beans with Salsa Fresca: A Bright, Easy Meal

Updated November 4, 2026

Total time
50 min
prep 20 min · cook 30 min
Serves
4
portions as written
Safe temperature (USDA)
165°F / 74°C
check the thickest piece

Jump to recipe

Mexican Stewed Beans with Salsa Fresca: A Bright, Easy Meal

Mexican stewed beans are tender pinto beans simmered with onion, garlic, tomato, and warm spices, then topped with salsa fresca for a fresh, tangy contrast. This stovetop version uses canned beans for a practical weeknight meal; bean varieties and seasonings vary across Mexican regions and home kitchens, so the recipe is easy to adjust.

Ingredients

  • 2 tablespoons (30 ml) neutral oil, such as avocado or canola oil
  • 1 medium yellow onion, finely diced, about 1 cup (150 g), divided: ¾ cup (110 g) for the beans and ¼ cup (40 g) for the salsa
  • 3 garlic cloves, minced, about 1 tablespoon (9 g)
  • 1 teaspoon (2 g) ground cumin
  • ½ teaspoon (1 g) dried Mexican oregano, or regular dried oregano
  • ¼ teaspoon (0.5 g) smoked paprika, optional
  • 2 cans pinto beans, 15 ounces (425 g) each, drained and rinsed
  • 1½ cups (360 ml) low-sodium vegetable broth or water, plus up to ½ cup (120 ml) more as needed
  • 1 tablespoon (15 g) tomato paste
  • 1 bay leaf
  • ½ teaspoon (3 g) fine salt to start, plus more to taste
  • ¼ teaspoon (0.5 g) ground black pepper
  • 1 tablespoon (15 ml) fresh lime juice, plus lime wedges for serving
  • 2 tablespoons (8 g) chopped fresh cilantro for the beans, plus more for garnish
  • Optional: 1 small sprig epazote, about ½ g; if it is unavailable, simply leave it out, as oregano gives a different but pleasant herbal note
  • For the salsa fresca: 2 medium ripe tomatoes, finely diced, about 1½ cups (300 g)
  • For the salsa fresca: 1 small jalapeño, seeded for less heat if desired, finely minced, about 2 teaspoons (10 g)
  • For the salsa fresca: 2 tablespoons (8 g) chopped fresh cilantro
  • For the salsa fresca: 1 tablespoon (15 ml) fresh lime juice
  • For the salsa fresca: ⅛ teaspoon (0.75 g) fine salt, or to taste

Instructions

  1. Make the salsa fresca first. Combine the diced tomatoes, ¼ cup (40 g) of the diced onion, jalapeño, cilantro, lime juice, and ⅛ teaspoon (0.75 g) salt in a small bowl. Stir gently and set it aside while you cook the beans. Taste a piece of jalapeño before adding more; its heat can vary, and you can always serve extra on the side.
  2. Drain the pinto beans in a colander and rinse them under cool running water. Let them drain while you prepare the aromatics. Rinsing removes some of the canning liquid and excess salt, making it easier to control the seasoning of the finished stew. If you prefer a thicker, more rustic texture, lightly mash about ½ cup (85 g) of the beans with a fork after rinsing.
  3. Warm the oil in a medium heavy-bottomed pot or Dutch oven over medium heat. Add the remaining ¾ cup (110 g) onion and cook for about 5 minutes, stirring occasionally, until softened and beginning to look translucent. Add the garlic, cumin, oregano, smoked paprika if using, and black pepper. Stir for about 1 minute, just until fragrant; if the garlic starts to brown quickly, lower the heat.
  4. Stir in the tomato paste and cook for 30 seconds, coating the onion and spices. Add the beans, broth or water, bay leaf, salt, and optional epazote. Scrape the bottom of the pot as you stir so the tomato paste and spices disperse into the liquid. The beans should be mostly surrounded by liquid, but they do not need to be completely submerged.
  5. Bring the pot to a gentle simmer, which should take a couple of minutes, then reduce the heat to medium-low. Simmer uncovered for 20 minutes, stirring every 4 or 5 minutes so the beans do not stick. Keep the liquid at a quiet bubble rather than a hard boil; vigorous boiling can split the beans and make the pot turn pasty. If the mixture gets thicker than you like, add broth or water a splash at a time.
  6. Remove the bay leaf and epazote sprig, if used. For a creamier stew, press a few beans against the side of the pot with the back of a spoon and stir them in. Add the lime juice and 2 tablespoons (8 g) cilantro, then taste and adjust the salt, pepper, or lime. The base should be savory and gently tangy, since the salsa fresca will add another bright layer at the table.
  7. Spoon the hot beans into shallow bowls and top each portion generously with salsa fresca. Finish with extra cilantro and lime wedges. Keep any salsa that is not being served separate from the beans, so the remaining stew can be stored and reheated without losing the salsa’s fresh texture.

Tips

  • Choose your texture. Leave all the beans whole for a brothy stew, or mash a small portion to thicken it naturally. For a looser bowl, add warm broth a few tablespoons at a time near the end; for a thicker one, simmer uncovered for a few extra minutes while stirring.
  • Season after rinsing. Canned beans and broth can both contain salt. Start with the listed amount, then adjust after the beans simmer and the lime goes in. If using regular-sodium broth, begin with less added salt and taste before serving.
  • Use the best substitute for your pantry. Black beans work instead of pinto beans, though they give the stew a firmer bite and a darker color. Water can replace vegetable broth, but the result will taste less savory, so taste carefully and add a little more cumin, salt, or lime if needed.
  • Keep the salsa fresh. Dice its ingredients fairly small so each spoonful gets tomato, onion, chile, and cilantro. If tomatoes are watery, remove the seeds and excess juice before chopping; this keeps the topping from watering down the beans.

Serving Suggestions

Serve the beans as a main dish with warm corn tortillas, rice, or both. Tortillas are useful for scooping up the thickened beans, while rice makes the meal more substantial and catches the seasoned cooking liquid. If you are serving a group, put the pot of beans on the table with the salsa fresca, lime wedges, and extra cilantro in separate bowls so everyone can choose how much freshness and chile to add.

For a simple side, pair the beans with sliced avocado, shredded cabbage, or a green salad dressed with lime. Crumbled queso fresco or a little shredded Monterey Jack adds a creamy, salty finish; leave it off for a dairy-free meal. You can also serve the beans as a filling for tacos, burritos, or tostadas. For tostadas, spread the beans over crisp tortillas and add salsa fresca just before eating, so the shells stay crunchy.

If the beans are part of a larger meal, they go well alongside roasted vegetables, grilled corn, or a mild slaw. Keep strongly seasoned sides modest so the cumin, oregano, and fresh salsa remain easy to taste. A spoonful of plain yogurt or Mexican crema can soften the chile heat, while hot sauce lets chile lovers add more at the table.

Variations

Make it with dried beans. If you have cooked dried pinto beans on hand, use about 3½ cups (600 g) in place of the canned beans. Include roughly 1 cup (240 ml) of their cooking liquid if available, then add more broth as needed. The recipe assumes the beans are already fully cooked; it does not include soaking or cooking dried beans from scratch, which would require additional time.

Change the bean or chile. Cooked black beans make a hearty alternative, and cooked white beans offer a milder flavor. For more chile heat, leave some jalapeño seeds in the salsa or use a small serrano chile. Serranos are often hotter, so mince a little at a time and taste the salsa before adding the rest. For a gentler topping, omit the fresh chile and pass a hot sauce separately.

Add vegetables or extra herbs. Stir in 1 cup (150 g) diced zucchini with the broth and simmer until tender, or add 1 cup (150 g) corn during the final 5 minutes. These additions make the pot more varied and may require a splash of extra broth. Epazote, when available, lends a distinctive herbal flavor to beans; it is traditional in some preparations but not essential here. Oregano is not a close flavor match, so treat it as its own seasoning rather than a direct replacement.

Make it smoky or more substantial. A pinch of chipotle powder can replace the smoked paprika for a more noticeable smoky heat; start with ⅛ teaspoon (about 0.3 g). For a non-vegetarian variation, cooked crumbled chorizo can be added with the beans, but brown it separately first and drain excess fat. The dish is also satisfying as written, with no meat needed.

Storage and Reheating

Store the beans and salsa fresca separately when possible. Transfer the beans to a shallow, covered container and refrigerate them within 2 hours of cooking. They keep for 3 to 4 days in the refrigerator. The salsa is best on the day it is made; if you have leftovers, cover and refrigerate it promptly, then use it within 1 to 2 days. It may release liquid as it sits, so drain or stir that liquid back in according to your preference.

Reheat only the portion you plan to eat in a saucepan over medium-low heat, stirring occasionally and adding a splash of water or broth to loosen the beans. Heat leftovers to 165°F (74°C), the USDA FSIS recommended temperature, checking with a food thermometer. You can also microwave a portion in a covered microwave-safe bowl, stirring halfway through and checking the temperature in more than one spot. Add fresh salsa after reheating, not before.

For longer storage, freeze the beans without the fresh salsa in a freezer-safe container for up to 2 to 3 months for best quality. Leave a little room at the top for expansion. Thaw overnight in the refrigerator or reheat from frozen over low heat with a few tablespoons of water, stirring as the beans loosen. Do not leave cooked beans at room temperature for extended storage; refrigerate or freeze them instead.

Frequently Asked Questions

Can I use pinto beans that are not canned? Yes. Use fully cooked beans, not dry beans straight from the bag. About 3½ cups (600 g) cooked beans replaces the two cans. Add some of the cooking liquid if you have it, since it contributes body, and simmer until the flavors come together. Cooking dried beans from scratch is possible, but it takes longer and needs its own soaking and cooking schedule.

Why are my stewed beans watery? They may need a few more minutes of uncovered simmering, or the beans may not have been drained well. Mash a few beans into the liquid to thicken it without adding anything else. Remember that the stew thickens slightly as it cools, so stop cooking when it is just a little looser than the texture you want to serve.

Can I make the beans ahead? Yes. Cook the beans up to 3 days ahead and refrigerate them in a covered container. The flavors settle as they chill, and the stew usually thickens, so reheat gently with a little broth or water. Make the salsa fresca closer to serving time for the best texture, or prepare it earlier the same day and keep it covered in the refrigerator.

How can I make the recipe less spicy? The beans themselves are mild; most of the heat comes from the jalapeño in the salsa. Remove its seeds and pale ribs, use only half, or omit it entirely. You can still make a flavorful salsa fresca with tomato, onion, cilantro, lime, and salt, then put sliced chile or hot sauce on the table for anyone who wants more heat.

What can I use instead of pinto beans? Black beans are the easiest swap and hold their shape well, while cooked white beans make a milder, softer stew. Use the same drained quantity and check the texture as they simmer, since different beans soften at different rates. If using beans that are already very soft, stir gently and shorten the simmer if needed to keep them intact.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).