In a large pot, heat olive oil over medium heat.
Add the Italian beef sausage and cook, breaking it apart with a spoon until browned and cooked through (160°F (71°C)).
Incorporate the chopped onion and garlic, sautéing until tender (about 5 minutes).
Pour in the chicken broth, diced tomatoes, tomato paste, oregano, basil, and optional red pepper flakes. Bring to a boil.
Lower the heat and let it simmer for about 15 minutes for the flavors to meld.
Stir in the heavy cream and season with salt and pepper.
Mix in the fresh spinach and cook until wilted.
Combine the ricotta cheese until blended, then top with mozzarella and Parmesan.
Cover the pot and simmer for an additional 5 minutes, letting the cheese melt and the soup thicken.
Serve hot, garnished with fresh basil if desired.