This Sausage and Bean Soup is the ultimate cozy one-pot dinner, featuring savory Italian sausage, creamy cannellini beans, and tender vegetables simmered in a tomato-kissed broth. It's hearty, filling, and packed with deep, savory flavor, yet easy enough for a busy weeknight. The recipe is pantry-friendly, freezer-friendly, and tastes even better the next day, making it a perfect meal prep favorite.
Dice the onion, carrots, and celery into 1/2-inch pieces. Mince the garlic and set aside. Drain and rinse the cannellini beans. If using links, remove the sausage casings.
Heat olive oil in a Dutch oven over medium-high heat. Add the sausage, break it into crumbles, and cook for 6-8 minutes until browned and cooked through. Leave the drippings in the pot.
Reduce heat to medium and add the onion, carrots, and celery. Stir well, scraping up browned bits, and cook for 6-8 minutes until softened. Season with salt and pepper.
Stir in the garlic, Italian seasoning, and red pepper flakes and cook for 30-60 seconds until fragrant. Add the tomato paste and cook for 1-2 minutes, stirring constantly, until it darkens to a brick red color.
Pour in the chicken broth and scrape the bottom of the pot. Add the drained beans, diced tomatoes with their juices, and the bay leaf. Stir everything together and bring to a gentle boil over high heat.
Reduce heat to medium-low, partially cover, and simmer for 25 minutes, stirring once or twice, until the carrots are tender. Remove and discard the bay leaf.
Stir in the baby spinach a handful at a time and cook for about 2 minutes until wilted. Stir in the lemon juice, then taste and adjust salt, pepper, or red pepper flakes. Add extra broth if the soup is too thick.
Ladle the hot soup into bowls and top each with freshly grated Parmigiano-Reggiano and chopped parsley. Serve right away.
Notes
Brown the sausage well: Deep golden color on the sausage means deeper flavor in the broth, so do not rush this step.
Mash a few beans: Press about 1/2 cup of the beans against the side of the pot with your spoon, or give the soup a few quick pulses with an immersion blender, for a thicker and creamier broth.
Cook the tomato paste: Letting it darken for a minute or two removes the raw, tinny taste.
Mind the salt: Sausage and canned beans already contain sodium, so use low-sodium broth and season at the end.
Add the lemon juice last: The acid wakes up the flavors, and a splash of red wine vinegar works too.
Rinse the beans: This removes the sticky canning liquid and keeps the broth tasting clean.
Let it rest: Letting the soup sit off the heat for 10 minutes before serving helps the flavors settle.
Choose your heat level: Hot Italian sausage plus red pepper flakes makes a spicy pot, while mild sausage keeps it family friendly.
Storage: Store in airtight containers in the refrigerator for up to 4 days, or freeze for up to 3 months. If freezing, leave the spinach out and add fresh handfuls when reheating.
Reheating: The beans absorb liquid as the soup sits, so add a splash of broth or water when reheating.