Heat a large pot over medium heat and add the olive oil. When shimmering, add the diced onion and cook until translucent and fragrant, about 3-4 minutes, stirring occasionally.
Add the minced garlic to the pot and cook for another 30 seconds until fragrant, being careful not to let it burn.
Pour in the crushed tomatoes along with their juice, stirring to combine with the onions and garlic. Cook for 5 minutes to deepen the flavor, allowing the mixture to slightly thicken.
Stir in the broth and bring the mixture to a gentle boil. Add the dried basil, red pepper flakes (if using), salt, and pepper to taste.
Add the uncooked pasta to the boiling soup, stirring to prevent sticking. Reduce the heat to medium-low and let it simmer uncovered for about 10-12 minutes, or until the pasta is al dente, stirring occasionally.
Once the pasta is cooked through and the soup has thickened slightly, stir in the shredded mozzarella cheese until melted and creamy, which will add a cheesy richness to the broth.
Taste the soup and adjust seasoning with more salt, pepper, or basil if needed. Ladle the hot soup into bowls, and sprinkle with grated Parmesan cheese for added flavor.
Serve immediately while bubbling hot, enjoying the comforting combination of cheesy, savory, and slightly spicy flavors.