Set a large Dutch oven over medium heat. Add the oil, and when it shimmers, add the sausage.

Brown the meat, breaking it up with a wooden spoon as it cooks. Stir in the onions and cook until softened. Mix in the garlic, oregano, red pepper flakes, and tomato paste, and cook for just a minute or two, until the garlic is fragrant.

Add the tomatoes, bay leaves, chicken broth, and beef broth, stirring to combine. Bring the soup to a boil then reduce the heat and simmer for about 20 minutes (uncovered). Stir in the pasta and cook until al dente, stirring occasionally.

While the pasta cooks, stir together the ricotta, Parmesan, and mozzarella to make the cheese mixture. When the soup is ready, season to taste with salt and pepper then remove the pot from the heat and add the basil, stirring to incorporate.

To serve: Scoop a dollop of the cheese mixture into the bottom of each bowl, then top with the soup. Place another dollop of cheese on top, if desired. Garnish with additional basil.

Leftovers: The pasta will continue to absorb broth as it sits so leftovers will be quite thick. Feel free to add additional broth to thin the mixture back to soup consistency.