
This creamy white bean soup with bacon has become my go-to comfort meal during busy weeknights. The combination of smoky bacon, hearty beans, and aromatic herbs creates a restaurant-quality soup that comes together in just 35 minutes.
I first created this recipe when I had unexpected dinner guests and needed something impressive with minimal effort. The empty bowls and requests for seconds confirmed it was a keeper, and it has since become our family's most requested soup when temperatures drop.
Ingredients
- Bacon: Adds a smoky depth that elevates the entire dish. Use thick-cut for more robust flavor.
- Carrots, celery, and onion: The classic mirepoix that builds the flavor foundation of this soup.
- Garlic: Four cloves might seem like a lot, but it mellows beautifully during cooking.
- Dried herbs: Thyme, oregano, and parsley work together to create a Mediterranean flavor profile.
- Red pepper flakes: Just a touch adds warmth without making the soup spicy.
- White kidney beans: Also called cannellini beans, they have a buttery texture perfect for creating creaminess.
- Half and half: Creates silky richness without being too heavy like cream would be.
- Parmesan cheese: Use freshly grated for the best melting and flavor.
Step-by-Step Instructions
- Cook the Bacon:
- Cook chopped bacon in a Dutch oven over medium-high heat until each piece is perfectly crisp but not burnt, about 5-7 minutes. The bacon will release its fat, which becomes the flavor base for the entire soup. Remove the crispy bacon pieces but leave that liquid gold bacon fat in the pot.
- Sauté the Vegetables:
- Add the carrots, celery and onion directly to the bacon fat. This infuses the vegetables with smoky flavor right from the start. Cook for a full 4-5 minutes until the onions become translucent and start to get some color around the edges. The slight caramelization adds natural sweetness to balance the savory elements.
- Add Garlic and Seasonings:
- Stir in the minced garlic and all dried seasonings. Cook for exactly one minute while stirring constantly. This crucial step blooms the spices, waking up their essential oils and dramatically intensifying their flavors. You will smell the difference immediately as the aromatics fill your kitchen.
- Deglaze with Broth:
- Pour in the chicken broth while scraping the bottom of the pot with a wooden spoon. Those browned bits stuck to the bottom contain concentrated flavor compounds that will dissolve into your broth, adding incredible depth to the final soup.
- Prepare the Beans:
- The secret to this soup's creaminess is pureeing some of the beans with half and half. This creates a luxurious, velvety texture without adding excessive dairy. Be sure to rinse the beans well first to remove the canning liquid, which can add an unwanted metallic taste.
- Combine Ingredients:
- Add the whole beans, crispy bacon pieces, and the bean puree to the pot. The combination of whole and pureed beans creates textural contrast. Simmer gently to allow the flavors to meld while the vegetables finish cooking to tender perfection.
- Finish and Serve:
- Stir in freshly grated Parmesan, which adds a nutty richness and helps thicken the soup slightly. Add optional fresh herbs for a pop of color and brightness that balances the rich flavors.

My grandmother originally taught me to make this with dried beans soaked overnight, but I've simplified it using canned beans without sacrificing flavor. The bacon is non-negotiable though. She always said that the secret to any great bean soup is starting with bacon fat rather than olive oil.
Make It Ahead
This soup actually improves with time, making it perfect for meal prep. The flavors meld and deepen overnight in the refrigerator. If making ahead, add the Parmesan just before serving rather than during initial cooking. The soup will keep beautifully in the refrigerator for up to 4 days, though the texture is best within the first 2-3 days.
Simple Variations
While this recipe is delicious as written, you can easily customize it to suit your preferences. For a vegetarian version, omit the bacon and sauté the vegetables in olive oil with a teaspoon of smoked paprika to mimic that smoky flavor. You can also add leafy greens like kale or spinach during the last few minutes of cooking for added nutrition and color.

Serving Suggestions
This hearty soup pairs beautifully with a crusty loaf of sourdough bread for dipping. For a complete meal, serve alongside a simple arugula salad dressed with lemon and olive oil to cut through the richness. If serving for guests, top each bowl with a drizzle of high-quality olive oil, extra crispy bacon bits, and a sprinkle of fresh herbs for a restaurant-worthy presentation.
The Secret to Texture
The key to this soup's perfect texture lies in the balance between pureed and whole beans. If you prefer a completely smooth soup, you can increase the amount of beans you puree. Conversely, for a more rustic, chunky texture, reduce the amount of pureed beans. The half and half can be replaced with heavy cream for extra richness or with additional broth if you prefer a lighter soup.
Frequently Asked Questions
- → Can I use a different type of beans?
Yes, you can substitute white kidney beans with cannellini beans, navy beans, or great northern beans for a similar texture and flavor.
- → How can I make the soup thicker?
To thicken the soup, puree a portion of the beans with cream or use a cornstarch slurry by mixing 1 tablespoon of cornstarch with 2 tablespoons of water or cream.
- → Can I make this soup dairy-free?
Yes, replace half-and-half with unsweetened almond milk or coconut milk and omit the Parmesan or use a dairy-free alternative.
- → What are some toppings for this soup?
Top the soup with additional crispy bacon, fresh chopped parsley, croutons, or a sprinkle of shredded cheese for added flavor and texture.
- → Can this soup be made in advance?
Absolutely! Store the soup in an airtight container in the refrigerator for up to 3 days. Reheat on the stovetop, adding a bit of broth or cream if it thickens too much.