01 - Bring a large pot of salted water to a boil. Cook the pasta according to package instructions until al dente. Reserve 1/2 cup of pasta water, then drain.
02 - While the pasta cooks, melt the butter in a large skillet over medium heat. Add the onion and sauté until soft, about 3 minutes. Add the garlic and cook for 1 minute until fragrant.
03 - Stir in the flour and cook for 1 minute, stirring constantly, to form a roux.
04 - Gradually whisk in the milk and cream. Cook, stirring frequently, until the sauce thickens, about 3–5 minutes.
05 - Stir in the grated Parmesan and nutmeg. Season with salt and pepper.
06 - Add the spinach to the sauce and cook until wilted, about 2 minutes.
07 - Add the drained pasta to the skillet. Toss gently to coat, adding reserved pasta water as needed for a silky sauce. Serve immediately, topped with extra Parmesan, black pepper, and parsley if desired.