Brown the sausage: Heat a large pot or Dutch oven over medium-high heat.
Add a drizzle of olive oil, then the sausage. Break it up with a spoon and cook until browned with crispy edges, about 7–9 minutes. Transfer to a plate, leaving 1–2 tablespoons of fat in the pot.
Sauté the aromatics: Reduce heat to medium.
Add onion, carrots, and celery with a pinch of salt. Cook until softened, 5–7 minutes. Stir in garlic and red pepper flakes; cook 30 seconds until fragrant.
Deglaze and build flavor: Pour in a splash of broth and scrape up any browned bits from the bottom—those are liquid gold.
Add the rest of the broth, bay leaf, Italian seasoning, and the browned sausage back to the pot.
Add the starch: Stir in the diced potatoes (or pasta). Bring to a gentle boil, then reduce to a simmer. Cook until potatoes are tender (10–12 minutes) or pasta is al dente (check package time).
Make it creamy: Lower the heat to a bare simmer.
Stir in the heavy cream. Warm it through; don’t boil, or the dairy may separate.
Add the Parmesan: Sprinkle in the grated Parmesan gradually, stirring constantly so it melts smoothly. If it seems stringy, turn the heat down and keep stirring.
Add the greens: Fold in spinach (1–2 minutes) or kale (3–5 minutes) until wilted and tender.
Brighten and season: Add a teaspoon of lemon zest and a squeeze of lemon juice.
Taste and adjust with salt and black pepper. Remove the bay leaf.
Serve: Ladle into bowls and top with extra Parmesan, cracked pepper, and parsley. Serve with crusty bread for dipping.