Hearty Bean Soup Recipe
There’s just something about a warm, hearty soup that feels like a hug in a bowl. This bean soup is everything you need on a chilly day: creamy, packed with protein, and filled with flavorful spices and tender vegetables. Plus, it’s super easy to make with simple ingredients you probably already have in your pantry. A bowl of this soup is like comfort food at its best, and the addition of pearl couscous and a sprinkle of Parmesan makes it feel just a little fancy without any extra fuss.
When I first made this, I had a bunch of canned beans that needed using up, and I wanted something a little heartier than a basic vegetable soup. With a few tweaks and additions, this soup quickly became a staple in our household. The creamy texture, thanks to blending some of the beans, and the satisfying bite of pearl couscous make it a recipe worth keeping on repeat.
A soup with history: Why beans are the ultimate comfort food
Beans have been a staple in cuisines around the world for centuries, from the humble white beans in Italian minestrone to Mexican black bean soups. They’re a natural source of protein and fiber, making them a satisfying and nutritious option for many different dishes. Cannellini beans, specifically, are popular in Italian cooking for their creamy texture and mild, slightly nutty flavor. Here, they’re blended into the broth to create a rich, almost velvety base that makes this soup feel indulgent without being heavy.
Let’s talk ingredients: the stars of this hearty soup
- Olive oil: This adds a touch of richness and helps bring out the flavors of the garlic, onion, and spices as they cook. You can use extra virgin olive oil if you want a more pronounced flavor, but any olive oil will work.
- Yellow onion and garlic: These are the base flavors for this soup, adding a savory depth that balances the beans. If you’re out of yellow onions, white or even red onions will do in a pinch.
- Carrots: Finely chopped carrots add a touch of sweetness and color. They soften as they cook, creating little bursts of flavor in each bite.
- Cannellini beans: The main protein and texture component here. Blending some of the beans with chicken broth creates a creamy, hearty consistency without any cream. You could substitute with Great Northern beans or even chickpeas if needed.
- Chicken broth: This adds a savory backbone to the soup. If you’re vegetarian, you can easily substitute with vegetable broth for a plant-based version.
- Pearl couscous: The couscous makes this soup feel more substantial and adds a nice chew. If you don’t have couscous, small pasta shapes like ditalini or orzo will work just as well.
- Parmesan: Just a little bit of grated Parmesan takes the flavor up a notch and gives the soup a bit of creaminess. For a dairy-free option, you can omit it or try a sprinkle of nutritional yeast for a cheesy flavor.
- Parsley: Fresh parsley brightens up the final dish and adds a pop of color. If you don’t have fresh parsley, a small sprinkle of dried parsley or even fresh basil can work as a garnish.

Kitchen gear: What you need to make this soup
You don’t need a lot of fancy equipment for this recipe, but a few tools will make it a breeze.
- Large pot or Dutch oven: You’ll want a pot big enough to hold all the ingredients and allow for easy stirring. A Dutch oven is ideal because it retains heat well.
- Immersion blender: Blending a portion of the beans and broth is key to getting that creamy texture. An immersion blender is super convenient here, but if you don’t have one, you can use a regular blender—just be careful with hot liquids.
- Slotted spoon: This will help you scoop out ingredients if needed, especially if you’re keeping the couscous separate until serving.
- Sharp knife and cutting board: You’ll need these for chopping the onion, garlic, carrots, and parsley. A good, sharp knife makes the prep work much easier.
Step-by-step: My go-to method for perfect bean soup
- Prep all your ingredients first. This means chopping the onion, garlic, carrots, and parsley before you even turn on the stove. It might seem like an extra step, but it makes the whole cooking process smoother (and less stressful!).
- Blend some of the beans with broth. Take one can of the beans and blend it with 1 cup of chicken broth. This step creates a creamy, thick base that adds richness to the soup without needing any cream. I like using an immersion blender directly in the bowl—it’s less messy than transferring to a blender.
- Sauté the aromatics. Heat the olive oil over medium heat in your pot. Add the chopped onion, garlic, and carrots, and cook them for about 3 minutes until everything is softened and fragrant. The kitchen will start to smell amazing at this point!
- Add spices and tomato paste. Stir in the black pepper, paprika, Italian seasoning, and tomato paste. Cooking the spices and paste briefly helps release their flavors, making the soup even more aromatic.
- Combine beans and broth. Add the remaining cans of beans, the pureed beans, and the rest of the chicken broth to the pot. Throw in a bay leaf for extra flavor, and bring everything to a gentle boil.
- Cook the couscous in the soup. Add the pearl couscous and let the soup simmer, covered, for about 15 minutes. If you’re planning to serve the soup later, you can cook the couscous separately and add it just before serving to prevent it from getting too soft.
- Finish with herbs and cheese. Once the couscous is tender, turn off the heat. Stir in the chopped parsley and sprinkle in the Parmesan for a touch of creaminess and depth. Add a little extra black pepper if you like.
- Serve and enjoy! Ladle the soup into bowls, garnish with a bit more parsley, and dig in. This soup is best enjoyed fresh and warm, with perhaps a slice of crusty bread on the side.

Make it your own: Variations to try
- Vegetarian version: Substitute vegetable broth for the chicken broth and skip the Parmesan, or use a plant-based Parmesan alternative.
- Gluten-free option: Swap the pearl couscous for a gluten-free pasta or even cooked quinoa, which will give a slightly different texture but keep it satisfying.
- Spicy twist: If you like heat, add a pinch of red pepper flakes with the other spices, or stir in a little hot sauce at the end. The extra warmth pairs well with the creamy beans.
- Herb swap: While Italian seasoning works beautifully here, you can change things up with fresh rosemary or thyme if you have those on hand. Each herb will bring its own unique flavor to the soup.
- Seasonal vegetables: Try adding diced zucchini, spinach, or kale if you have them on hand. These will add color and extra nutrients, making the soup even more wholesome.
Serving ideas: Make it a meal
Serve this bean soup with a slice of crusty bread or a side of warm, buttery cornbread to soak up every last drop. You can also top each bowl with a sprinkle of extra Parmesan or a dollop of sour cream for extra richness. For a little extra crunch, some homemade croutons or a handful of toasted nuts would make a delightful garnish.
Perfect drink pairings for this soup
Go for something warm and cozy to complement the soup’s heartiness. A hot herbal tea—like chamomile or peppermint—pairs beautifully with the earthy flavors of the beans and spices. For something cold, a sparkling water with a hint of lemon or lime keeps things light and refreshing. If you’re in the mood for something a bit more special, try a spiced apple cider—it’s comforting, a little sweet, and perfect for fall and winter nights.
Storing and reheating leftovers
This soup stores wonderfully! Just let it cool completely before transferring it to an airtight container. It will keep in the fridge for up to 4 days. When you’re ready to reheat, just warm it on the stove over medium heat, stirring occasionally. You might need to add a splash of broth or water, as the couscous can absorb some of the liquid while it sits.
If you’re planning to freeze it, I recommend leaving out the couscous until you’re ready to eat. Just cook the couscous separately and add it to the reheated soup. This way, it doesn’t get mushy.
Adjusting for different serving sizes
This recipe makes enough for about four generous servings, but you can easily double it if you’re feeding a crowd. Just make sure your pot is big enough! If you’re cooking for one or two, consider making the full batch anyway—the leftovers are fantastic, and soup always tastes even better the next day.
Troubleshooting tips for perfect soup every time
- Too thick? Add a bit more broth or water to thin it out to your desired consistency.
- Too thin? Let the soup simmer uncovered for a few more minutes to reduce and thicken.
- Couscous too mushy? Try cooking it separately and adding it to the soup right before serving next time.

Frequently asked questions
1. Can I use dried beans instead of canned? Yes, but you’ll need to cook them first. Use about 1 1/2 cups of dried beans for every 3 cans. Soak overnight, then cook until tender.
2. How can I make this soup vegetarian? Simply swap the chicken broth for vegetable broth and skip the Parmesan or use a plant-based alternative.
3. What if I don’t have an immersion blender? You can use a regular blender—just be cautious with hot liquids. Blend in small batches to avoid splattering.
4. Can I use a different type of pasta? Absolutely! Small pasta shapes like orzo, ditalini, or even elbow macaroni work well.
5. Can I freeze this soup? Yes, but leave out the couscous if you plan to freeze it. Add freshly cooked couscous when reheating for the best texture.
Enjoy this warm, comforting bean soup, and feel free to make it your own with the variations and tips!
Print
Hearty Bean Soup Recipe
Cozy up with this hearty bean soup! Packed with beans, veggies, and pearl couscous, it’s a comforting and filling recipe that’s perfect for fall.
- Total Time: 40 minutes
- Yield: 4
Ingredients
- Olive oil, 2 tablespoons
- Yellow onion, finely chopped, 1
- Minced garlic, 6 cloves
- Large carrots, finely chopped, 2
- Black pepper, 1 teaspoon
- Sweet paprika, 1 teaspoon
- Italian seasoning, 1 tablespoon
- Double-concentrated tomato paste, 1 tablespoon
- Cannellini beans, 3 cans (15 ounces/400 g each), drained and divided
- Chicken broth, 5 cups, divided
- Bay leaf, 1
- Pearl couscous, 4 ounces
- Grated Parmesan, 2 ounces
- Chopped parsley, 2 tablespoons, with extra for garnish
Instructions
- Prep all your ingredients first. This means chopping the onion, garlic, carrots, and parsley before you even turn on the stove. It might seem like an extra step, but it makes the whole cooking process smoother (and less stressful!).
- Blend some of the beans with broth. Take one can of the beans and blend it with 1 cup of chicken broth. This step creates a creamy, thick base that adds richness to the soup without needing any cream. I like using an immersion blender directly in the bowl—it’s less messy than transferring to a blender.
- Sauté the aromatics. Heat the olive oil over medium heat in your pot. Add the chopped onion, garlic, and carrots, and cook them for about 3 minutes until everything is softened and fragrant. The kitchen will start to smell amazing at this point!
- Add spices and tomato paste. Stir in the black pepper, paprika, Italian seasoning, and tomato paste. Cooking the spices and paste briefly helps release their flavors, making the soup even more aromatic.
- Combine beans and broth. Add the remaining cans of beans, the pureed beans, and the rest of the chicken broth to the pot. Throw in a bay leaf for extra flavor, and bring everything to a gentle boil.
- Cook the couscous in the soup. Add the pearl couscous and let the soup simmer, covered, for about 15 minutes. If you’re planning to serve the soup later, you can cook the couscous separately and add it just before serving to prevent it from getting too soft.
- Finish with herbs and cheese. Once the couscous is tender, turn off the heat. Stir in the chopped parsley and sprinkle in the Parmesan for a touch of creaminess and depth. Add a little extra black pepper if you like.
- Serve and enjoy! Ladle the soup into bowls, garnish with a bit more parsley, and dig in. This soup is best enjoyed fresh and warm, with perhaps a slice of crusty bread on the side.
Notes
Serve this bean soup with a slice of crusty bread or a side of warm, buttery cornbread to soak up every last drop. You can also top each bowl with a sprinkle of extra Parmesan or a dollop of sour cream for extra richness. For a little extra crunch, some homemade croutons or a handful of toasted nuts would make a delightful garnish.
- Prep Time: 15 minutes
- Cook Time: 25 minutes
- Category: Dinner