Heat the olive oil in a large Dutch oven over medium heat. Add the Italian sausage and cook, breaking it into small pieces, until browned and no longer pink, about 6 to 8 minutes.
Add the onion and cook until softened, about 4 minutes. Stir in the garlic and cook for 30 seconds.
Add the butternut squash, chicken broth, Italian seasoning, smoked paprika, salt, and pepper. Bring to a boil, then reduce the heat and simmer uncovered for 18 to 22 minutes, until the squash is fork-tender.
Use a potato masher to mash some of the squash directly in the pot, leaving plenty of cubes and sausage for texture.
Stir in the spinach and heavy cream. Simmer for 2 to 3 minutes, until the spinach wilts and the soup is hot. Taste and adjust seasoning before serving.
Notes
Mashing only part of the squash thickens the broth while preserving a hearty texture.