Place a large Dutch oven or soup pot over medium high heat. Add the ground Italian sausage and diced yellow onion.
Cook for 8-10 minutes, breaking up the meat with a wooden spoon, until the sausage is cooked through and completely browned, and the onions are soft. Drain all but 1 tbsp of excess grease from the pot.
Reduce the heat to medium. Stir in the minced garlic and crushed red pepper flakes. Cook for 1 minute until fragrant.
Pour in the chicken broth, scraping the bottom of the pot with the wooden spoon to loosen any browned bits.
Add the diced russet potatoes, kosher salt, and black pepper. Bring the soup to a boil.
Reduce the heat to medium low, cover the pot with a lid, and simmer for 12-15 minutes, or until the potatoes are fork tender.
Turn the heat to low. Stir in the heavy cream until fully incorporated.
Stir in the fresh baby spinach. Let it cook for 1-2 minutes, just until wilted and bright green. Don't let it boil.
Remove the pot from the heat. Taste and season with more salt and pepper, if desired.
Ladle the hot soup into deep bowls, top with freshly grated parmesan cheese, and serve with crusty bread.