Frijoles

Frijoles
⏱️ cook time 2 hours 15 minutes
🍽️ servings 4
⚡ Difficulty easy

intro

Creamy, savory slow-simmered pinto beans, a comforting Mexican home-style staple served alongside rice, tacos, and grilled meats for casual family meals.

Ingredients

Dried pinto beans 2 cups (360 grams)
White onion 1 medium (150 grams, roughly chopped)
Garlic 4 cloves (12 grams, lightly crushed)
Fresh epazote 3 sprigs (5 grams)
Kosher salt 1.5 teaspoons (9 grams)
Lard (or neutral canola oil for vegan option) 2 tablespoons (30 ml)
Water 6 cups (1440 ml)

Steps

1

Sort and rinse beans

Spread the 360 grams (2 cups) of dried pinto beans on a clean rimmed baking sheet, pick out any small rocks, shriveled beans, or plant debris, then transfer to a colander and rinse thoroughly under cold running water for 1 minute. No pre-soaking is needed for this traditional preparation.

Step 1
step1:Sort and rinse beans
2

Simmer beans with aromatics

Place rinsed beans in a heavy-bottomed 4-quart Dutch oven, pour in 1440 ml (6 cups) of cold water, then add the chopped white onion, crushed garlic, and epazote sprigs. Bring to a rolling boil over medium-high stovetop heat (200°C/400°F), then immediately reduce heat to low (120°C/250°F) to hold a gentle, steady simmer.

Step 2
step2:Simmer beans with aromatics
3

Slow cook until tender

Partially cover the Dutch oven with its lid, leaving a 1-inch gap to prevent boil-overs, and let beans simmer for 1 hour 45 minutes. Check water level every 30 minutes, topping up with 120 ml (½ cup) hot water if liquid drops below the surface of the beans. Do not add salt at this stage, as it will toughen bean skins.

Step 3
step3:Slow cook until tender
4

Season cooked beans

After 1 hour 45 minutes of simmering, test bean tenderness by squishing one between your thumb and forefinger: it should mash easily with no gritty, hard core. Stir in 9 grams (1.5 teaspoons) of kosher salt, then simmer uncovered for 10 more minutes over low heat to let beans absorb the salt, then turn off heat and discard the spent epazote sprigs.

Step 4
step4:Season cooked beans
5

Fry bean base

Heat 30 ml (2 tablespoons) of lard (or canola oil for a vegan version) in a 12-inch cast-iron skillet over medium heat (160°C/325°F) until the fat is shimmering, about 2 minutes. Use a slotted spoon to transfer ¾ of the cooked beans and 240 ml (1 cup) of bean cooking liquid to the skillet, reserving remaining whole beans and liquid for texture and consistency adjustments.

Step 5
step5:Fry bean base
6

Mash and finish beans

Use a wire potato masher to mash the beans in the skillet to a thick, spreadable, slightly chunky consistency, stirring constantly with a wooden spoon as you mash for 3 minutes over medium heat. Add reserved bean cooking liquid 1 tablespoon at a time if the mixture is too thick, then stir in the reserved whole beans. Simmer for 2 final minutes until heated through, then serve immediately.

Step 6
step6:Mash and finish beans

Tips

1.Skip pre-soaking dried beans for the creamiest, most evenly cooked result; long, low-heat simmering breaks down beans gently without tough, chewy skins.
2.Save all leftover bean cooking liquid (called caldo de frijol, or bean broth) — it is deeply savory and perfect for thinning beans, stirring into soups, or cooking rice for extra flavor.
3.Store leftover frijoles in an airtight container in the fridge for up to 5 days, or freeze for up to 3 months; the bean flavor deepens and improves as it rests.

✨ You May Also Like

Side Dishes
🍜 India

Velvety, aromatic all-purpose curry sauce perfect for tossing with roasted veggies, grilled protein, or rice for fast, cozy, flavorful meals.

⏱️ 25 minuteSide Dishes ★ 4.7
Side Dishes
🍜 Spain

Tender, starchy boiled yuca tossed in bright, garlicky citrus mojo sauce—an iconic, zesty side that pairs beautifully with roasted pork, grilled meats, and rice and beans.

⏱️ 40 minuteSide Dishes ★ 4.8
Side Dishes
🍜 United States

Tender, paper-thin potato flatbread, a beloved Norwegian-American Minnesota Christmas staple, griddled until softly spotted and served warm with butter.

⏱️ 1 hour 30Side Dishes ★ 4.8
Side Dishes
🍜 United States

Rich, deeply savory cured salt pork, a long-lasting kitchen staple perfect for frying crispy as a side or adding umami to stews, beans, and chowders.

⏱️ 7 days (2Side Dishes ★ 4.9
Side Dishes
🍜 United States

Crispy, tangy classic Southern fried green tomatoes with a crunchy cornmeal crust, served hot for a nostalgic, comforting summery bite.

⏱️ 25 minuteSide Dishes ★ 4.9
Side Dishes
🍜 United States

Moist, golden-crusted savory muffins with sweet corn, zesty jalapeño, and melted cheddar, perfect for pairing with smoky summer grilled fare.

⏱️ 30 minuteSide Dishes ★ 4.8

Frijoles:Frequently Asked Questions

1.Do I have to soak dried pinto beans before making frijoles?
Soaking is totally optional, but it cuts cook time by about 45 minutes, reduces gassy indigestible compounds, and helps beans cook more evenly without random splitting. If you skip soaking, just rinse beans well, add 1 to 1.5 extra hours of simmer time, and check water levels more often to avoid scorching the pot bottom.
2.Can I use canned pinto beans instead of dried for this recipe?
You can, but the deep, slow-simmered flavor and creamy, intact texture won’t match the authentic homemade version. If you’re short on time, use 3 (15-oz) cans of rinsed pinto beans, simmer with onion, garlic, epazote, and salt for 20 minutes, then mash slightly if you prefer a thicker, creamier consistency.
3.What is epazote, and can I substitute it if I can’t find fresh?
Epazote is a pungent, earthy Mexican herb that adds classic frijoles flavor and helps reduce bean-related digestive discomfort. If you can’t find fresh, use 1 teaspoon of dried epazote per 2 fresh sprigs, or swap for a small handful of fresh cilantro plus a pinch of dried Mexican oregano as a last-resort substitute.
4.How long do these homemade frijoles take to cook from start to finish?
If you pre-soak your beans for 6 to 8 hours (or do a quick 1-hour hot soak), total prep plus simmer time is about 2.5 hours, with only 15 minutes of active hands-on work. If you cook unsoaked beans, plan for 3.5 to 4 hours total, keeping the pot at a gentle, low simmer the whole time.
5.Why do my beans always come out tough even after cooking for hours?
Tough beans usually come from three common mistakes: using old dried beans that have sat in your pantry for over a year, adding salt too early in the cook process, or boiling too hard which breaks skins before interiors soften. Always test bean freshness, add salt only once beans are fork-tender, and keep heat low.
6.Can I make these frijoles in a slow cooker instead of on the stovetop?
Absolutely! Add rinsed beans, quartered white onion, crushed garlic, epazote, and enough water to cover beans by 2 inches to your slow cooker. Cook on low for 6 to 8 hours (8 to 10 for unsoaked beans), then stir in kosher salt to taste once beans are fully tender and creamy.
7.What’s the best water-to-bean ratio for perfectly creamy frijoles?
Start with 4 cups of cool water for every 1 cup of dried pinto beans, whether you’re cooking on the stovetop or in a slow cooker. You can add a splash more hot water during cooking if levels drop below the beans, but avoid cold water, which can shock beans and leave them with tough, uneven texture.
8.Do I need to add bacon, lard, or other fat to make authentic frijoles?
Many regional Mexican versions do use a small amount of lard for extra richness, but this classic home-style recipe relies on slow simmering with aromatics for deep, savory flavor without added fat. If you want a richer finish, stir in 1 tablespoon of lard or bacon drippings after salting, right before serving.
9.How should I store leftover homemade frijoles, and how long do they last?
Let cooked frijoles cool completely to room temperature (don’t leave them out for more than 2 hours for food safety), then transfer to an airtight container and refrigerate for up to 5 days. Beans thicken as they chill, so stir in a splash of water when reheating to bring back your preferred consistency.
10.Can I freeze leftover frijoles for later use?
Yes! Portion cooled beans into freezer-safe bags or rigid containers, leaving ½ inch of headspace to account for expansion as they freeze, and store for up to 6 months. Thaw overnight in the fridge before reheating, and give them a good stir—any slight texture separation will smooth out as they heat.
11.Why is epazote added to frijoles, anyway?
Beyond its bright, herbaceous, slightly piney-citrusy flavor that defines traditional Mexican bean dishes, epazote contains natural compounds that help break down the hard-to-digest oligosaccharides in beans, cutting down on the post-meal gas many people experience after eating legumes.
12.Should I discard the onion and garlic after cooking, or leave them in the beans?
You don’t need to fish them out at all! The long, slow simmer softens the white onion and garlic completely, so they melt right into the bean broth to add subtle, savory depth. If you prefer a super-smooth refried-style consistency, you can blend the whole pot lightly to incorporate the aromatics fully.
13.Can I add other seasonings like cumin, chili powder, or jalapeños to this recipe?
This recipe is the simple, classic home-style base, so you absolutely can customize it to your taste. Add a halved jalapeño, ½ teaspoon of ground cumin, or a pinch of chili powder with the aromatics if you want spicier, more robust flavor—just don’t overdo it so the mild, creamy bean flavor still shines.
14.How do I know when the frijoles are done cooking?
Perfectly done frijoles are tender all the way through when you pierce one with a fork, with no hard, chalky white center, but not so mushy that they split completely apart when stirred. The cooking liquid will be slightly thick and savory, not thin and watery, right before you add salt to finish.
15.My bean broth is really watery—how do I thicken it to that classic creamy consistency?
For a traditional, no-fuss thickener, scoop out ½ cup of cooked beans and their broth, mash them into a smooth paste with a fork, then stir the paste back into the pot. Simmer for 5 more minutes, and the broth will thicken up perfectly without needing cornstarch or other processed thickeners.
16.Is it normal for the beans to foam while they simmer?
That light, grayish-tan foam that rises to the top in the first 30 minutes of cooking is totally normal—it’s just released starch and trapped air from the beans. Simply skim it off with a spoon as it forms to keep the broth clean-tasting and clear, and don’t worry, it’s not a sign you made a mistake.
17.Can I use a pressure cooker like an Instant Pot to make these frijoles faster?
Definitely! Add rinsed unsoaked beans, aromatics, and water to your Instant Pot, cook on high pressure for 35 minutes, then do a natural pressure release for 20 minutes before venting. Add kosher salt to taste after opening, and you’ll have creamy, perfectly cooked beans in under an hour.
18.What dishes do these authentic frijoles pair best with?
These are the ultimate versatile Mexican staple: serve them alongside cilantro-lime rice, spoon them over tacos and tostadas, pair them with grilled carne asada or carnitas, use them as a filling for vegetarian burritos, or top a bowl with queso fresco and pickled onions for a simple, satisfying meal.
19.Do I really need to sort and rinse dried pinto beans before cooking?
Yes, always! Spread dried beans out on a baking sheet to pick out any small pebbles, broken bean bits, or random field debris that can make its way into dried bean packaging, then rinse under cool running water to remove surface dust and excess starch. This takes 2 minutes and makes a huge difference in the final dish.

Comments (14)

2 days ago

OMG these frijoles are SO good! I made them for our Sunday family dinner and everyone was going back for seconds, even my super picky 7 year old. I added a tiny extra pinch of cumin like my abuela used to and it was chef’s kiss. So easy too, I was worried it’d be too fussy for a weeknight prep but totally doable!

yesterday

So happy your whole family loved them, Mia! That extra cumin tip is fantastic, I’ll have to try that next batch I make. Love when people add their own family touches to the recipe 😊

1 week ago

Game changer for meal prep! I make a big pot of these every Sunday now, portion them out with rice and grilled chicken for my work lunches all week. They reheat perfectly, no weird mushy texture like the canned beans I used to buy. 10/10, will never go back to store bought.

5 days ago

Wait do you soak the beans ahead of time like the recipe says? I always forget to soak beans overnight and wonder if it’s still worth making!

3 days ago

Great question Luna! If you forget to soak overnight, you can do a quick soak: cover beans with water, bring to a boil, turn off heat, cover and let sit 1 hour before proceeding with the recipe. Works like a charm!

3 days ago

Brought these to our neighborhood block party potluck last weekend and the bowl was scraped CLEAN in 20 minutes. So many people asked for the recipe I ended up just texting the link to half the block. Pro tip: top with a little crumbled cotija and a squeeze of lime right before serving, people go crazy for it.

2 days ago

Second the cotija tip! I did that when I made them for our cookout too, total game changer. Even my buddy who swears he ‘doesn’t like beans’ ate two servings.

30 minutes ago

Really solid base recipe! I used a mix of pinto and black beans because that’s what I had in the pantry, and it turned out great. Cook time was spot on for me, beans were perfectly tender without being mushy. Will make again.

5 days ago

Wait, this is the first time my frijoles didn’t come out bland! I’ve tried like 3 other online recipes and they all were so boring, but the sautéed onion and garlic base here makes all the difference. My roommate thought I ordered them from our favorite taqueria down the street lmao.

3 days ago

Omg which taqueria? I’m in NYC too and always on the hunt for good frijoles, but if I can make them at home that’s even better lol

2 days ago

It’s the tiny spot on 14th and A, trust me their beans are insane but these come so close I was shocked. Saved me so much money on takeout this week!

yesterday

My kids loved it! I was nervous because my boys turn their nose up at anything that isn’t chicken nuggets, but they ate these wrapped up in tortillas with cheese for dinner and asked if we could have them again tomorrow. Super easy to throw together even with chaos going on around the house, 10/10 for busy parents.

2 hours ago

That makes my day to hear! So glad the boys enjoyed them—wrapping them up in tortillas with cheese is such a kid-friendly win, I’ll have to note that as a serving tip for other parents. Thanks for sharing!

2 weeks ago

Love that this is naturally vegan without any weird substitutions! I’ve been looking for a go-to bean recipe for my taco nights that doesn’t use lard or animal products, and this hits every single note. So flavorful, I don’t even miss the meat when I load these up on tacos with guac and pico.

1 week ago

Wait do you use vegetable broth instead of the chicken broth the recipe mentions? I almost skipped this when I saw chicken broth in the ingredients!

5 days ago

Great catch! You can absolutely swap the chicken broth for low-sodium vegetable broth to keep this 100% plant-based, it works beautifully and doesn’t change the flavor profile much at all. I’ll add that note to the ingredient list for clarity, thanks for asking!

5 minutes ago

Solid, straightforward recipe that tastes just like the frijoles I used to make when I worked at a Tex-Mex restaurant back in the 90s. Don’t skip the step of simmering low and slow, that’s where the depth of flavor comes from. People try to rush this part and wonder why their beans don’t taste right. Great work on this one.

2 hours ago

Bro this is so cheap to make! A bag of dry beans is like $2 and it feeds me for like 5 days, way better than spending $12 on a burrito bowl every day between classes. I add a little hot sauce on top and it’s perfect for my tiny dorm kitchen, no fancy equipment needed.

30 minutes ago

Fr! I made these last week in my tiny dorm rice cooker even, worked like a charm. Just set it to slow cook mode and didn’t have to watch it at all. Saved me so much meal plan money

1 week ago

I’ve been making frijoles for 40 years and I have to say, this recipe is right up there with my own. The ratio of seasonings is perfect, not too salty, not too bland. I did add a ham hock like I always do for that extra smoky flavor, and it was divine. Will be passing this link to my grandkids.

5 days ago

The ham hock add is genius! I’ve got a couple smoked hocks in my freezer I was gonna use for collards, might throw one in my next pot of these beans now. How long do you leave it in while it simmers?

3 days ago

I throw it in right when the beans start simmering, then pull it out when the beans are tender, shred the little bits of ham off and stir it back in. So good, you won’t regret it!

just now

Made a double batch last week and froze half of it, thawed it out last night for taco Tuesday and it tasted just as fresh as the day I made it. No weird grainy texture after freezing like other bean recipes I’ve tried. Super convenient for busy weeks.

2 weeks ago

Made these on my camp stove last weekend while we were car camping out in the Rockies! They were the perfect warm, filling meal after a long day of hiking, everyone in my group was raving. We ate them with cornbread we cooked over the fire, chef’s kiss.

1 week ago

That sounds like the absolute perfect camping meal! I love hearing people adapt this recipe for all kinds of trips, cornbread on the fire with these beans sounds like a dream combo. Thanks for sharing your adventure!

3 days ago

First time ever cooking dry beans and I didn’t mess them up! The instructions were so clear, I didn’t have to guess at any steps. They came out creamy and flavorful, I was so proud of myself. Even my girlfriend said they were better than the ones at our local Mexican place. Win.

yesterday

These are a staple in our taco night rotation now! I make them at least twice a month, they pair perfectly with carnitas, salsa, and homemade tortillas. I love that the cook time is mostly hands off, I can get the rest of the taco toppings ready while the beans simmer.

2 hours ago

Wait do you have a good homemade tortilla recipe to go with these? I’ve been trying to find one that doesn’t come out all dry and crumbly!