Cook the Pasta
Bring a large pot of salted water to a boil. Add the whole-wheat pasta and cook according to package instructions until al dente.
Drain and reserve about ½ cup of the pasta water.
Sauté the Aromatics
In a large skillet, heat olive oil over medium heat. Add the chopped onion and cook for 2–3 minutes until softened.
Stir in garlic and cook another 30 seconds until fragrant.
Add the Vegetables
Toss in the cherry tomatoes and cook for about 3–4 minutes until they begin to soften and release their juices.
Add the spinach and stir until wilted.
Make the Creamy Sauce
Lower the heat and pour in the milk. Let it warm for a minute, then stir in the Greek yogurt and Parmesan cheese (if using).
Mix until a smooth, creamy sauce forms. If it’s too thick, add a little pasta water.
Combine Everything
Add the cooked pasta to the pan and toss well to coat in the sauce.
Season with salt, pepper, and chili flakes. Adjust to taste.
Serve and Garnish
Transfer to plates and top with fresh basil and a sprinkle of Parmesan.
Enjoy warm!