Warm the pot. Set a large, wide pot or deep skillet over medium heat.
Add olive oil or butter. When hot, add the onion and a pinch of salt. Cook for 3–4 minutes until softened.
Add garlic. Stir in the minced garlic and cook for 30 seconds, just until fragrant.
Don’t let it brown.
Pour in liquids. Add the broth and milk. Stir to combine and bring to a gentle simmer. Taste the liquid and season with 1/2 teaspoon salt and a few grinds of black pepper to start.
Add pasta. Stir in the dry pasta, making sure it’s submerged.
Reduce heat to medium-low to keep a steady simmer. Cook uncovered, stirring every minute or so to prevent sticking.
Simmer to al dente. Cook for 8–10 minutes (check your pasta’s package directions), until the pasta is just shy of al dente and the liquid has reduced to a saucy consistency. If it’s looking dry before the pasta is done, add a splash of broth or water.
Stir in cream and spinach. Add the heavy cream, red pepper flakes (if using), and spinach.
Stir until the spinach wilts and the sauce turns silky, 1–2 minutes.
Finish with Parmesan and lemon. Turn off the heat. Stir in the Parmesan, lemon zest, and a teaspoon of lemon juice. Taste and adjust with more salt, pepper, or lemon juice as needed.
The sauce should be creamy and well-seasoned.
Rest and serve. Let the pasta sit for 2 minutes to thicken slightly. Serve hot with extra Parmesan and a crack of black pepper.