For the soup:
2 teaspoons olive oil
1½ pounds Italian sausage, casings removed
2 medium onions, diced
5 cloves garlic, minced
2 teaspoons dried oregano
½ teaspoon crushed red pepper flakes
2 tablespoons tomato paste
1 28-ounce can fire-roasted diced tomatoes
2 bay leaves
1 quart chicken broth
2 cups beef broth
8 ounces fusili or other curly pasta
⅓ cup finely chopped basil
For topping:
8 ounces ricotta
½ cup grated Parmesan or Romano cheese
1 cup shredded mozzarella cheese
Freshly ground black pepper
Heat the oil in large Dutch oven or stockpot over medium heat. Add the sausage, using a wooden spoon to break it up, and cook until browned. Add the onions and continue cooking until softened, 6-7 minutes. Add in the garlic, oregano, red pepper flakes and tomato paste and continue cooking for 2-3 minutes.
Stir in the tomatoes, bay leaves, chicken broth and beef broth. Bring to a boil, then reduce heat to low. Simmer, uncovered, for 20-30 minutes. Add the pasta and cook until just al dente. While the pasta is cooking, combine the ricotta, Parmesan, mozzarella and pepper in a medium bowl. Set aside.
Taste the soup and add salt and pepper as needed, then remove from heat and stir in the basil. To serve the soup, ladle the soup into serving bowls and top with a (heaping) spoonful of the cheese mixture. Alternately, you can add the cheese mixture to the bowl first and ladle the soup on top.