Brown the sausage: Set a large pot or Dutch oven over medium heat.
Add the sausage and break it up with a spoon. Cook until well browned and cooked through, about 6–8 minutes. Use a slotted spoon to transfer the sausage to a plate, leaving the drippings in the pot.
Sauté the aromatics: If the pot looks dry, add a little olive oil or butter.
Add the onion and a pinch of salt. Cook, stirring, until soft and lightly golden, about 4–5 minutes. Stir in the garlic, Italian seasoning, and red pepper flakes.
Cook for 30 seconds until fragrant.
Deglaze and build the base: Pour in a splash of broth and scrape up any browned bits from the bottom of the pot. Those bits add big flavor.
Add potatoes and liquids: Return the sausage to the pot. Add the potatoes, chicken broth, and water.
Bring to a gentle boil, then reduce to a simmer.
Simmer until tender: Cook uncovered for 12–16 minutes, or until the potatoes are fork-tender. Taste and season with salt and pepper as you go.
Stir in the cream: Reduce heat to low. Add the heavy cream and Parmesan, if using.
Simmer gently for 2–3 minutes to warm through. Do not boil after adding cream to prevent curdling.
Add greens: Stir in the kale or spinach and cook until wilted and tender, about 2–3 minutes. Adjust seasoning with more salt, pepper, or red pepper flakes.
Serve: Ladle into bowls and finish with extra Parmesan and chopped parsley if you like.
Serve with crusty bread for dipping.