
This hearty bacon and bean soup has become my winter staple for cold evenings when comfort food is calling. The combination of smoky bacon, tender beans, and aromatic vegetables creates a deeply satisfying meal that's both nourishing and flavorful.
I first made this soup during a particularly harsh winter storm when we were snowed in for days. What started as a necessity quickly became a family favorite that my kids now request weekly from September through March.
Ingredients
- Great northern beans: these creamy white beans hold their shape while becoming tender and absorb flavors beautifully. Navy or cannellini beans work equally well
- Bacon: adds a smoky richness that forms the flavor foundation of the soup. Look for thickcut bacon for more substantial pieces
- Onion, celery, and carrots: the classic mirepoix that provides aromatic sweetness and depth
- Garlic: adds pungent flavor that mellows as it cooks. Use fresh rather than jarred for best results
- Chicken broth: forms the flavorful liquid base. Homemade stock elevates this soup immensely if you have it
- Fresh thyme: brings earthy herbal notes that pair perfectly with beans and bacon
- Bay leaves: add subtle complexity to the broth during the long simmer
- Parmigiano Reggiano: contributes a savory umami element that enriches the entire soup. Worth splurging on authentic aged cheese
Step-by-Step Instructions
- Crisp the Bacon:
- Cook bacon pieces in a large pot until perfectly crisp but not burnt, about 8-10 minutes over medium heat. The bacon will release its flavorful fat, which becomes the cooking medium for the vegetables. Remove the crispy pieces and set aside, leaving just 2 tablespoons of that liquid gold bacon fat in the pot.
- Build the Aromatic Base:
- Add diced onions, celery and carrots to the reserved bacon fat and sauté over mediumhigh heat for a full 7-10 minutes. This extended cooking time allows the vegetables to develop sweet caramelized notes that will permeate the entire soup. Be patient here as rushing this step means missing out on significant flavor development.
- Add Aromatics:
- Stir in chopped garlic and optional red pepper flakes, cooking for just one minute until fragrant. The brief cooking prevents the garlic from burning while releasing its essential oils into the fat.
- Deglaze the Pan:
- Pour in half a cup of broth and use a wooden spoon to scrape up all the flavorful browned bits from the bottom of the pot. These caramelized bits contain concentrated flavor compounds that will enrich your broth tremendously.
- Long Simmer:
- Add remaining broth, soaked beans, thyme and bay leaves. Bring everything to a gentle boil before reducing to a simmer. Cover and cook patiently for 1.5-2 hours until beans are perfectly tender but still hold their shape. The slow cooking allows the beans to gradually absorb the flavors while breaking down just enough to create a naturally creamy broth.
- Finish with Cheese:
- Remove the pot from heat and stir in grated Parmigiano Reggiano, allowing it to melt completely into the soup. This off-heat addition prevents the cheese from becoming stringy or separating.
- Final Touches:
- Return crispy bacon pieces to the pot, season with salt and pepper, and finish with fresh parsley for brightness. The contrast between the tender beans and crunchy bacon pieces creates a wonderful textural contrast.

The bacon is truly the star ingredient in this recipe. I discovered this when I once tried making a vegetarian version that fell flat. That smoky depth was sorely missed, teaching me that sometimes a relatively small amount of a powerhouse ingredient like bacon can transform an entire dish from good to exceptional.
Slow Cooker Magic
This soup adapts beautifully to slow cooker preparation, making it perfect for busy days when you want to come home to a ready meal. Follow the bacon crisping step on the stovetop, then optionally sauté the vegetables before transferring everything to your slow cooker. Set it on low for 8-10 hours or high for 3-4 hours. The slow, gentle heat creates incredibly tender beans and allows flavors to meld perfectly throughout the day.
Quick Shortcut Version
For nights when you need dinner in under 30 minutes, substitute three 15ounce cans of white beans (drained and rinsed) for the dried beans. This eliminates the overnight soaking and long simmering time. Follow all other steps as written, but you only need to simmer for about 15 minutes to marry the flavors. While slightly different in texture from the dried bean version, this variation maintains excellent flavor and makes this hearty meal accessible on busy weeknights.
Customization Options
This recipe serves as an excellent base for endless variations. Consider adding a tablespoon of tomato paste for depth or a splash of cream for luxurious richness. Fresh rosemary can replace thyme for a different aromatic profile. For vegans, nutritional yeast provides similar umami notes to the Parmesan. My favorite variation includes pureeing about one-third of the beans before adding the bacon back, creating a soup with both creamy body and delightful texture from the whole beans.
Frequently Asked Questions
- → Can I use canned beans instead of dried beans?
Yes, you can replace dried beans with 3 cans of white beans (rinsed and drained). Reduce the simmering time to just a few minutes.
- → What can I substitute for parmesan cheese?
You can use asiago, pecorino, or even nutritional yeast for a cheesy flavor variation in this soup.
- → How can I make the soup creamier?
Puree some or all of the beans before adding the bacon, or consider adding cream for extra richness.
- → Is this soup freezer-friendly?
Yes, you can freeze the soup in an airtight container for up to three months. Thaw and reheat on the stovetop or in the microwave.
- → Can I make this soup vegetarian?
Absolutely! Replace the bacon with sautéed mushrooms and use vegetable broth instead of chicken broth for a vegetarian version.