Ingredients
Scale
- 6 slices thick-cut bacon, chopped
- 1 small onion, finely diced
- 2 garlic cloves, minced
- 1 (28 oz) can crushed tomatoes or tomato purée
- 2 (15 oz) cans cannellini beans, drained & rinsed
- 2 cups chicken broth
- ½ cup heavy cream or half-and-half (or unsweetened plant-based cream for dairy-free)
- 1 tsp dried oregano
- ½ tsp smoked paprika
- Salt & black pepper to taste
- Optional: pinch of red pepper flakes, 1 tbsp tomato paste for depth
For garnish:
- Extra crumbled bacon
- Fresh basil or parsley
- Grated Parmesan or Pecorino
Instructions
- Cook bacon: In a large pot, cook chopped bacon over medium heat until crispy. Remove with a slotted spoon; set aside. Reserve 1–2 tbsp drippings.
- Sauté aromatics: In same pot, add onion; cook 4–5 min until soft. Stir in garlic; cook 30 sec.
- Simmer base: Add crushed tomatoes, cannellini beans, chicken broth, oregano, smoked paprika, and optional tomato paste. Bring to a gentle boil. Reduce heat; simmer 15 minutes to meld flavors.
- Blend (optional): For ultra-smooth texture, use an immersion blender to purée until creamy—or leave slightly chunky.
- Finish: Stir in heavy cream and reserved bacon (reserve some for topping). Warm gently (do not boil). Season with salt, pepper, and red pepper flakes if using.
- Serve hot, garnished with extra bacon, fresh herbs, and cheese.
💡 Pro Tips:
– For extra protein, stir in 1 cup cooked shredded chicken.
– Make it vegetarian: skip bacon, use olive oil, and swap broth for veggie broth.
– The beans naturally thicken the soup—no flour needed!
Prep Time & Nutrition (per serving, serves 6):
Prep Time: 10 min | Cook Time: 25 min | Total Time: 35 min
Servings: 6 | Calories: 280 | Net Carbs: 22g | Fats: 14g | Protein: 16g
Servings: 6 | Calories: 280 | Net Carbs: 22g | Fats: 14g | Protein: 16g