Pinto Bean Soup
intro
Warm, fiber-rich pinto bean soup loaded with savory veggies and warm spices, a cozy, filling meal perfect for serving with your favorite fresh toppings.
Ingredients
Steps
Prep the pinto beans
Spread dried pinto beans on a light-colored baking sheet, pick out any small rocks, shriveled beans, or debris, then rinse thoroughly under cool running water for 1 minute. No pre-soaking is required for this recipe.
Sauté the aromatics
Heat 30ml (2 tablespoons) olive oil in a heavy-bottomed 5-quart Dutch oven over medium stovetop heat until the oil shimmers (~175°C/350°F). Add diced onion, cook for 5 minutes until soft and translucent, then add minced garlic and diced jalapeño, stirring constantly for 1 minute until fragrant, taking care not to burn the garlic.
Toast the spices
Add ground cumin, smoked paprika, dried oregano, and the whole bay leaf to the pot with the aromatics. Stir continuously for 30 seconds over medium heat until the spices release a warm, earthy aroma, being careful not to scorch them.
Simmer the soup base
Add rinsed pinto beans, diced Roma tomatoes, and 960ml (4 cups) low-sodium vegetable broth to the pot, stir to fully combine. Bring the mixture to a rolling boil over medium-high stovetop heat, then reduce heat to the lowest setting to maintain a gentle simmer (liquid temperature ~95°C/200°F), set the pot lid slightly ajar, and simmer for 45 minutes, stirring once every 10 minutes to prevent beans from sticking to the pot bottom.
Thicken and season
After 45 minutes of simmering, test a bean for doneness: it should mash easily between your fingers with no hard, starchy core. If beans are still firm, simmer 5-10 additional minutes, adding 60ml (¼ cup) extra broth if the soup gets too thick. Remove and discard the bay leaf, stir in kosher salt and black pepper, then use an immersion blender to blend roughly 1/3 of the soup directly in the pot to create a creamy, thick base while leaving most beans whole for hearty texture.
Finish and serve
Stir fresh lime juice into the soup, taste and adjust salt if needed, then turn off the heat. Ladle 360ml (1.5-cup) portions into warm ceramic bowls, and serve with optional toppings like chopped cilantro, diced avocado, or crispy tortilla strips as desired.
Tips
2.Wait to add salt until the beans are fully tender; adding salt too early can toughen bean skins and significantly extend required cooking time.
3.For a smoky, meaty twist, add 55g (¼ cup) crisp diced cooked bacon or 5ml (1 teaspoon) liquid smoke to the pot along with the broth for extra depth.

OMG this pinto bean soup is SO good! I made it for Sunday family dinner last night and even my super picky 7 year old asked for seconds. Threw in a little extra corn because we had it leftover in the fridge, total game changer for cold rainy Midwestern nights. 10/10 will make again for our fall potluck next month!
This is my new go-to weekly meal prep! It’s so easy to throw together on Sunday afternoons, portion out into containers, and it reheats like a dream all week. I love that it doesn’t require a ton of fancy ingredients—most of this I already had in my pantry. Only note: I added a dash of smoked paprika for a little extra depth, highly recommend!
Made this over the campfire last weekend when we were out hunting with the guys. Used dried beans we soaked overnight, threw in a can of diced green chiles, and everyone raved. Super hearty, stuck to our ribs after being out in the cold all morning. Way better than the canned stuff we usually bring.
I was looking for a cheap, filling vegan soup recipe and this hit the spot! I skipped the optional ham hock, used vegetable broth instead of chicken, and it was still so flavorful even without the meat. Topped with avocado and a squeeze of lime, so fresh even on random cool Florida evenings. Only knock is I wish it had a little more texture, so next time I’ll add some diced bell peppers too. Will be making this all winter!
Threw this together last night after work when I realized I had nothing planned for dinner. Took literally 10 minutes of prep, let it simmer for an hour while I helped the kids with homework, and dinner was done. My kids loved it, no complaints at all which is a miracle in my house. Served with cornbread muffins on the side, 10/10.
Brought this to my neighborhood block party last weekend and people were asking me for the recipe before I even set the pot down! I topped it with a little dollop of sour cream, some shredded cheddar, and crushed tortilla strips for a build-your-own topping bar, it was such a hit. Super affordable to make for a big crowd too, which is always a win for potlucks.
First time making beans from scratch and this recipe was so hard to mess up! I was nervous I’d undercook them or they’d be bland, but the seasoning measurements were perfect. I’m a broke college student so dried beans are way cheaper than canned, this made like 6 servings for under $5 total. Absolute steal.
Added a whole jalapeño (seeds and all) and a tablespoon of hot sauce to this and it had the perfect kick! If you love spicy food like I do, don’t sleep on adding a little extra heat. It balances out the creaminess of the beans so well. I’ll be making this on repeat all soup season.
Made this when we got 6 inches of snow last week and it warmed us right up after building snowmen with the kids. The only issue I had was my beans were still a little crunchy after an hour, did I do something wrong? I soaked them overnight like the recipe said.
Wait I used leftover holiday ham bone in this instead of a ham hock and it was INSANE. The depth of flavor from the ham bone was unreal, I highly recommend doing that if you have one hanging out in your freezer after Easter or Christmas. My whole house smelled amazing while it simmered.
This soup is so high in protein and fiber, it’s perfect for post-workout meals when I don’t want something heavy. I paired it with a side salad for lunch all last week and I stayed full for hours. No weird processed ingredients, just whole food, which is exactly what I look for in recipes.
Guys I literally burn toast 90% of the time and I made this soup perfectly first try. The instructions are so straightforward, no weird techniques, no fancy equipment needed. My roommate thought I ordered takeout, lmao. 10/10 for beginner cooks who don’t know what they’re doing.
Served this with a side of honey butter cornbread and it was the coziest fall meal I’ve made all year. The sweet cornbread pairs so perfectly with the savory, earthy beans. I might make this every Sunday from now until spring, no joke.
I made this last week and it was amazing, so now I want to make a double batch to stock my freezer for busy weeknights when I don’t have time to cook. Has anyone frozen this before? I’m worried the beans will get mushy when I thaw it.
This recipe is great, but it was a little too salty for my taste since I’m on a low-sodium diet. I used regular chicken broth and added the full amount of salt the recipe called for, which was my bad. Next time I’ll use low-sodium broth and cut the added salt in half.
Made this for our football watch party last Sunday and it was gone by halftime. I set out toppings: diced onion, jalapeños, cheese, sour cream, hot sauce, everyone built their own bowl. Way better than the usual chili we make, might become our new game day staple.
This tastes just like the pinto bean soup my mom used to make when I was a kid growing up in West Texas. It’s so warm and comforting, no fancy frills, just good old fashioned hearty food. I’ve been looking for a recipe that matches hers for years, this is it. Thank you so much for sharing!
y’all i added a dollop of cream cheese to my bowl when it was done and mixed it in and it made it so creamy and rich??? 10/10 hack, don’t knock it till you try it. also added some crumbled chorizo that I had cooked up, insane flavor combo. will be experimenting with more add-ins next time.
Cooked this for my volunteer fire department crew after a long shift putting out a brush fire last week. It was hot, filling, and fed 12 guys with a little leftover. Easy to make in a big stock pot, didn’t require a ton of stirring which was perfect because I was exhausted after the shift. Everyone asked for the recipe, so I sent them the link!