Heat olive oil in a large pot over medium heat. Add sausage or ground beef, breaking up into bite sized pieces, and brown for about 5 minutes. Add onions and carrot, cook until softened, about 6 minutes. Add garlic, oregano, Italian seasoning, salt, pepper, and red pepper flakes. Cook for 1 minute. Add tomato paste and stir to incorporate. Cook for 3 to 4 minutes, or until the tomato paste turns brown in color.
Add the diced tomatoes, zucchini, bay leaves, and chicken stock, stir to combine. Bring to a boil. Add pasta and reduce heat to medium. Simmer for 20-25 minutes. During the last few minutes, toss in the spinach and wilt.
Meanwhile, in a small bowl combine the mozzarella, ricotta, Parmesan, milk, salt, and pepper.
To serve, place a ladle full of pasta in each bowl, then a dollop of the cheesy filling- sprinkle some of the mozzarella on top and ladle the hot soup over the cheese. Enjoy!