Heat olive oil in a large pot over medium heat. Brown sausage. Add onions and cook until softened, about 5 minutes. Add garlic and red pepper flakes. Cook for 1 minute. Add tomato paste and stir well to incorporate. Cook for 3 to 4 minutes, or until the tomato paste turns a rusty brown color.
Add diced tomatoes, bay leaves, and chicken stock. Stir to combine. Bring to a boil and then reduce heat and simmer for 30 minutes. Add uncooked pasta and cook until al dente, approximately 9-10 minutes or according to the package directions. Do not overcook noodles or let soup simmer for a long period of time at this point, as the pasta will get mushy.
While the pasta is cooking, prepare the cheese mixture. In a small bowl, combine the ricotta, parmesan, salt, and pepper.
Turn off heat. Stir in basil and season to taste with salt and freshly ground black pepper.
To serve, place a dollop of the cheese mixture in each soup bowl, sprinkle some of the mozzarella on top and ladle the hot soup over the cheese.