👩🍳 Instructions
1
Heat a large heavy skillet over medium heat and add 2 tbsp olive oil. Sauté 1 chopped medium onion until translucent, about 4 minutes.
2
Add 3 minced garlic cloves and 1/4 tsp red pepper flakes (if using) and cook for 30–45 seconds until fragrant.
3
Stir in 1 can (14 oz) crushed tomatoes and scrape any browned bits from the pan. Let simmer for 1–2 minutes.
4
Add 12 oz dried pasta, 3 1/2 cups broth, and 1/2 cup water. Bring to a steady simmer, partially cover, and cook, stirring every few minutes, until pasta is al dente (8–15 minutes depending on shape).
5
When pasta is almost done, reduce heat to low and stir in 4 cups packed baby spinach a handful at a time until wilted.
6
Pour in 1/2 cup heavy cream and 1/2 cup grated Parmesan. Stir until the cheese melts and the sauce becomes silky. Season with salt and pepper.
7
Turn off heat, scatter 6–8 oz torn mozzarella over the pasta, cover for 1–2 minutes to soften the cheese, then garnish with fresh basil and a drizzle of butter if desired.
8
Serve immediately with extra Parmesan on the side.