Join! 12 weeks for $1

Check out our latest issues.

Missy Robbins tells all.

In Mumbai, we learned a home-cook friendly version of Butter Chicken.

Take a cooking class with us and our instructors from around the world.

NEW - 125 simple weeknight recipes from the world's healthiest cuisine.

1000+ hard-to-find items from around the world.

.
In Mexico, a slow-cooked pot of beans is freshened by a finishing onion-chili sofrito
Milk Street Bowtie Mexican Stewed Beans with Salsa Fresca

Mexican Stewed Beans with Salsa Fresca

Appears in July-August 2020

1¾ hours plus overnight soak and resting

Made This Recipe? Write a Review.
Thank you for submitting your review! A member of our team is confirming the review meets our site's Community Guidelines. It will be posted on the site shortly.

Mexican Stewed Beans with Salsa Fresca

Free

In Mexico City, we learned to prepare traditional stewed beans, as well as a version enriched with pork. Sofrito—a sauté of aromatics cooked separately from the dish’s central ingredient(s)—is a key flavoring for the beans. Our sofrito consists of onion, garlic, tomatoes and jalapeños cooked down to concentrate their essences and is added only after the beans are fully cooked. Instead of the pinto beans so common in Mexican cooking, we opted to use cranberry beans (also called Roman or borlotti beans). We found that the pinto beans available in the U.S. do not cook up with the same plumpness and velvety texture as the ones we tasted in Mexico; cranberry beans were a closer approximation. Though tan in color with speckles of red, dried cranberry beans, when cooked, resemble pinkish beige pinto beans. If you wish to make this dish with pork, see the recipe below; it yields a meaty broth for cooking the beans and shredded pork for stirring in at the end. A fresh tomato salsa served on the side brightens and lightens the earthiness of the beans. The most efficient way to approach this multi-component recipe is to prep and cook the sofrito during the 1 hour that the beans simmer and make the salsa while the cooked beans rest for 30 minutes. Note that the pork and broth need to be made before you begin cooking the beans, but can be made up to three days in advance.

6-8

Servings

Tip

Don’t forget soak the beans overnight. Soaked beans cook more evenly and quickly than unsoaked ones. A couple tablespoons of salt in the soaking water produces a creamier, more velvety texture in the cooked beans.

1¾ hours

plus overnight soak and resting

1 pound dried cranberry beans (see headnote), picked over and rinsed
Kosher salt and ground black pepper
2 tablespoons lard or neutral oil
1 medium white onion, chopped
2 medium garlic cloves, thinly sliced
1 bunch cilantro, stems finely chopped, leaves roughly chopped, reserved separately
1½ quarts low-sodium chicken broth, pork broth (recipe follows; optional) or water
2 tablespoons lard or neutral oil
1 large white onion, chopped
Kosher salt and ground black pepper
4 medium garlic cloves, minced
2 pounds ripe tomatoes, cored and roughly chopped
2 jalapeño chilies, stemmed, seeded and finely chopped
2 cups shredded pork (optional)
Salsa fresca
For the beans:
  • 1

    pound dried cranberry beans (see headnote), picked over and rinsed

  • Kosher salt and ground black pepper

  • 2

    tablespoons lard or neutral oil

  • 1

    medium white onion, chopped

  • 2

    medium garlic cloves, thinly sliced

  • 1

    bunch cilantro, stems finely chopped, leaves roughly chopped, reserved separately

  • quarts low-sodium chicken broth, pork broth (recipe follows; optional) or water

For the sofrito:
  • 2

    tablespoons lard or neutral oil

  • 1

    large white onion, chopped

  • Kosher salt and ground black pepper

  • 4

    medium garlic cloves, minced

  • 2

    pounds ripe tomatoes, cored and roughly chopped

  • 2

    jalapeño chilies, stemmed, seeded and finely chopped

To serve:
Directions
  1. 01
    To prepare the beans, in a large bowl, combine the beans with 2 quarts water and 2 tablespoons salt; stir to dissolve salt. Cover and soak the beans overnight at room temperature.
  2. 02
    Drain the beans. In a large Dutch oven, heat the oil over medium heat until shimmering. Add the onion and 1 teaspoon salt, then cook, stirring occasionally, until it begins to brown, about 5 minutes. Stir in the garlic and cilantro stems. Cook, stirring, until fragrant, about 30 seconds. Stir in the beans and broth, then bring to a boil over medium-high. Cover, reduce to low and cook, stirring occasionally, until the beans are tender, about 1 hour.
  3. 03
    While the beans cook, make the sofrito. In a 12-inch nonstick skillet over medium, heat the lard until shimmering. Add the onion and ½ teaspoon salt, then cook, stirring occasionally, until well browned, 5 to 7 minutes. Stir the garlic and cook until fragrant, about 30 seconds. Add the tomatoes and jalapeños and cook, stirring often, until the tomatoes have broken down, the liquid they released has cooked off and the mixture begins to sizzle, 10 to 15 minutes. Remove from the heat and set aside.
  4. 04
    When the beans are done, remove the pot from the heat and let stand uncovered for 30 minutes to allow the liquid to thicken slightly. Return the beans to a simmer over medium, stirring occasionally. Add the sofrito and shredded pork (if using). Cook, stirring occasionally, until heated through, about 5 minutes. Taste and season with salt and pepper, then stir in the cilantro leaves. Serve with salsa fresca on the side.
Tip: Don’t forget soak the beans overnight. Soaked beans cook more evenly and quickly than unsoaked ones. A couple tablespoons of salt in the soaking water produces a creamier, more velvety texture in the cooked beans.
.
In the store
More

Mains

Reviews
Laura L.

Made this with the pork and pork broth as well as the salsa fresca. These are completely worth the time and effort. The beans are delicious prior to adding the sofrito, and only get better as the sofrito and salsa are added. And they are fantastic the day after. Make these. Seriously.

Susan C.

Thank you for your comment! Your comment is currently under moderation and will appear shortly.

Holly W.

Lovely. Both times I’ve made this the beans took fully two hours. I soaked them for 24 hours prior to cooking. Each part of this recipe is superb.

Thomas M.

I have never seen cranberry beans in any supermarket near where I live. What are alternatives?

Craig J.

We had the same problem. We used Roman beans and it had the consistency they discussed on the podcast. One source we found claimed that borlotto, crab eye, roman, romano, rosecoco, saluggia beans, burlotti are all other names for cranberry beans, but haven’t confirmed.

Kathryn J.

A great bean source is: ranchogordo.com GREAT beans!

William H.

I have found them at King Soopers (Kroger) and Walmart.

Daniel V.

Us nutritional information available for recipes??

Lynn C.

Hi Daniel -

We understand that it's helpful to know the nutritional information for recipes. However, since we are not a health food magazine we do not have a nutritionist on staff to accurately calculate the nutritional details for all of our recipes. I would suggest using a smartphone app or website into which you can enter ingredients and get some nutritional information. These aren't 100% accurate (which is why we can't use them and publish their results), but they should give you a general picture of the nutritional details of a dish. We hope this helps!

Best,
The Milk Street Team

Lynn C.

Hi Thomas -

These are sometimes labeled as Roman or Borlotti beans in the market, so check for those names as well. If you can't find them, you could substitute dried pinto beans, but they won't have the same velvety texture and, since they are smaller, will probably cook a bit faster.

Best,
The Milk Street Team

William H.

Thank you for your comment! Your comment is currently under moderation and will appear shortly.

Kristen B.

Made this with Rancho Gordo Ayocote Morados, and it was so delicious I can't stop eating them. A flour tortilla with a little char from the gas burner was perfect.

Craig J.

We made it and it was fantastic. Our modifications:
Salsa Fresca - a tiny bit of cumin powder, a dusting of guajillo powder, and lemon drop peppers
Bean stew: also a little cumin powder. Added a dried ancho and two dried guajiilo peppers (both rehydrated in warm water - discarded the water and added peppers) for the hour simmer. While the beans were cooling, removed peppers, homogenized, then added back in half of the paste. Served with some browned chorizo on the side as a topping. We also served on top of Mexican rice.

Laraine A.

Thank you for your comment! Your comment is currently under moderation and will appear shortly.

Louise T.

I've wanted to make these beans ever since I heard Chris Kimbell describing them on the podcast. Finally, today was the day. Incredible, easily the best beans I've ever eaten! We used Good Mother Stallard beans from Rancho Gordo and left out the pork (vegetarian). Unbelievable, sublime. Thank you for the wonderful story and a yummy dinner tonight!

Laraine A.

Made these for a second time today. They are delicious. Make great burritos, and great with a salad and tortillas.

Gretchen M.

These were incredible, especially when paired with the Pork Carnitas from Milk Street. Would the leftover beans freeze well?

Wayne C.

I made these for the first time last night. Absolutely delicious! Rather than 2 pounds of boneless pork shoulder, I used twice as much weight of pork neck bones, and ended up with about the same amount of shredded pork, after removing bones, fat and gristle. Then I chilled the pork broth so the fat rose to the surface. I skimmed it, but then used some of the pork lard for the beans and sofrito parts of the recipe, and froze the rest for the future. Can't wait to try the leftover beans today...

Wayne C.

Also, do NOT throw out the leftover liquid from the salsa after you strain it. It has incredible flavor. I chilled it and ate it as cold soup. I also mixed some in with the leftover beans. Fantastic...!

Michele R.

Keeper! Great as recipe is written and can also be 'tweaked' recipe for delicious results. We cook a lot of bean dishes at our house in any year and in 2020 even more than a lot of them and as I post this in October it seems this may be our favorite of all we've made this year.

NOTES:
1. Like Wayne C, I started with pork neck bones (3#) for stock (see my comments on stock recipe). After removing the bones (to pick and use the meat), I strained the stock (important step) and chilled it overnight to let big fat cap rise to the top to lift off. Used the fat to saute onions and cilantro stems and also for cook of the sofrito. (You can freeze and save the fat cap for other recipes as it is basically a savory lard). Delicious stock. Next time I will choose pork shoulder option included in recipe string to use that pork stock.

2. We chose Rancho Gordo cranberry beans here.

3. Recipe is forgiving of 'shortcuts'. Example, if you don't have fresh tomato for the sofrito, a small can (14 oz?) of Mutti polpi (very fine chopped tomatoes - this is a great 'shortcut' pantry item for a lot of dishes) works well cooked down in step 3.

4. If you're serving someone who won't eat raw tomatoes (really - those someones exist) and so are skipping salsa for them, the beans do need a kiss of acid at the end and a squeeze of lime in the bowl as it is served works.

5. Beans are even better a day or two after they are made. They freeze well too.

Kulpreet $.

Great and helpful comments, Michele. You've got me intrigued...what were some of your other favorite bean recipes from 2020? :)

Alkuds J.

I made this with pinto beans from Sinaloa, Mexico. They were delicious!
What a treat! I can’t wait to try the cranberry beans ! Thank you!

Karen W.

These are the most delicious beans I’ve ever made. Well worth the time it took to make. I used organic pinto beans because I couldn’t find any cranberry beans in my grocery stores. Any idea where I can get them? Don’t need the quantities they sell on Amazon.

Sally S.

I agree with the comments posted. These are the best beans. They were beautiful, rich, creamy, and full of flavor.

John M.

Another exemplary Milk Street recipe! These beans were amazingly delicious. I made it as written (incl. pork & pork broth) save for a couple of modifications (hat tip to you helpful commenters): 1) No ripe tomatoes in sight now, so I used a 14 oz. can of fire roasted diced tomatoes instead. 2) I added one rehydrated ancho and two rehydrated guajillo chiles for the one hour bean simmer. I will definitely make this one again & again. Thanks once again, Diane & the Milk Street team!

Renee H.

I just started eating vegan and signed up for Milk Street, because a lot of the recipes are easily customizable to vegan. I made these beans and they were delicious. I really thought they were going to be bland. I still don't understand how a handful of ingredients made these so delicious! These beans were amazing. I am not even a bean person. As someone said these would go great in a burrito. For the oil, I used Miyoko's butter. I also used Rancho Gordo beans. I let the beans soak overnight and I used the instant pot for 45 mins with a 20 min release. For the broth I used Better Than Bouillon Vegetable. Would make again.

Michael L.

Love this recipe! This is the best bean recipe ever! Made it as written except I used canned tomatoes. I found the cranberry beans on the evil empire(Amazon) and they were fantastic!


Down arrow

Mexican Stewed Beans with Salsa Fresca

Get Ready to Cook

6-8

Servings

1¾ hours

plus overnight soak and resting

Tip

Don’t forget soak the beans overnight. Soaked beans cook more evenly and quickly than unsoaked ones. A couple tablespoons of salt in the soaking water produces a creamier, more velvety texture in the cooked beans.

For the beans:
  • 1

    pound dried cranberry beans (see headnote), picked over and rinsed

  • Kosher salt and ground black pepper

  • 2

    tablespoons lard or neutral oil

  • 1

    medium white onion, chopped

  • 2

    medium garlic cloves, thinly sliced

  • 1

    bunch cilantro, stems finely chopped, leaves roughly chopped, reserved separately

  • quarts low-sodium chicken broth, pork broth (recipe follows; optional) or water

For the sofrito:
  • 2

    tablespoons lard or neutral oil

  • 1

    large white onion, chopped

  • Kosher salt and ground black pepper

  • 4

    medium garlic cloves, minced

  • 2

    pounds ripe tomatoes, cored and roughly chopped

  • 2

    jalapeño chilies, stemmed, seeded and finely chopped

To serve:
Step 1 of 4

Soak Beans

1
pound dried cranberry beans, picked over and rinsed
Kosher salt

To prepare the beans, in a large bowl, combine the beans with 2 quarts water and 2 tablespoons salt; stir to dissolve salt. Cover and soak the beans overnight at room temperature.

Step 2 of 4

Cook Beans

2
tablespoons lard or neutral oil
1
medium white onion, chopped
Kosher salt
2
medium garlic cloves, thinly sliced
1
bunch cilantro, stems finely chopped
quarts low-sodium chicken broth, pork broth (recipe follows; optional) or water

Drain the beans. In a large Dutch oven, heat the oil over medium heat until shimmering. Add the onion and 1 teaspoon salt, then cook, stirring occasionally, until it begins to brown, about 5 minutes.


Stir in the garlic and cilantro stems. Cook, stirring, until fragrant, about 30 seconds. Stir in the beans and broth, then bring to a boil over medium-high. Cover, reduce to low and cook, stirring occasionally, until the beans are tender, about 1 hour.

Step 3 of 4

Prepare Sofrito

2
tablespoons lard or neutral oil
1
medium white onion, chopped
Kosher salt
4
medium garlic cloves, minced
2
pounds ripe tomatoes, cored and roughly chopped
2
jalapeño chilies, stemmed, seeded and finely chopped

While the beans cook, make the sofrito. In a 12-inch nonstick skillet over medium, heat the lard until shimmering. Add the onion and ½ teaspoon salt, then cook, stirring occasionally, until well browned, 5 to 7 minutes. Stir the garlic and cook until fragrant, about 30 seconds.


Add the tomatoes and jalapeños and cook, stirring often, until the tomatoes have broken down, the liquid they released has cooked off and the mixture begins to sizzle, 10 to 15 minutes. Remove from the heat and set aside.

Step 4 of 4

Taste, Season and Serve

2
cups shredded pork
Kosher salt and ground black pepper
1
bunch cilantro, leaves roughly chopped
Salsa fresca

When the beans are done, remove the pot from the heat and let stand uncovered for 30 minutes to allow the liquid to thicken slightly. Return the beans to a simmer over medium, stirring occasionally.


Add the sofrito and shredded pork (if using). Cook, stirring occasionally, until heated through, about 5 minutes. Taste and season with salt and pepper, then stir in the cilantro leaves. Serve with salsa fresca on the side.

Milk Street Bowtie Logo

Done!

Did you enjoy this recipe?

Want more?

See More Mains