Cook Sausage and Onion: In a large saucepan, cook the sausage and diced onion over medium heat until the sausage is browned. Drain any excess grease.
Add Garlic and Spices: Stir in the chopped garlic, ground fennel, and red pepper flakes. Cook until fragrant, about 1 minute.
Add Broth and Tomatoes: Pour in the chicken broth and add the can of petite diced tomatoes. Bring to a boil.
Cook Pasta: Add the ditalini pasta and Italian seasoning to the saucepan. Reduce the heat and let simmer until the pasta is al dente, about 8-10 minutes.
Add Cheeses and Cream: Mix in the grated Parmigiano Reggiano, warmed cream cheese, and heavy cream. Stir until the cheeses are fully melted and the soup is creamy.
Season and Serve: Season with salt and pepper to taste. Stir in chopped parsley if using. Serve hot.