Heat olive oil in a large pot over medium heat.
Add sausage and cook, breaking it up with a spoon, until browned, about 6 to 8 minutes.
Stir in onion and cook until softened, about 4 minutes.
Add garlic, thyme, paprika, salt, pepper, and red pepper flakes. Cook 1 minute until fragrant.
Pour in chicken broth, pumpkin puree, and diced tomatoes. Stir until smooth.
Bring mixture to a boil, then reduce heat to low. Simmer for 15 minutes.
Stir in heavy cream and beans. Simmer for 5 minutes.
Add spinach and Parmesan. Cook until spinach wilts, about 3 minutes.
Taste and adjust seasoning with more salt or pepper if needed.
Serve hot, topped with extra Parmesan and crusty bread if desired.