Cook the Pasta:
Bring a large pot of salted water to a boil. Cook the pasta according to the package instructions until al dente. Drain and set aside.
Make the Cheese Sauce:
In a medium saucepan, melt the butter over medium heat. Whisk in the flour and cook for 1-2 minutes until golden and bubbly, stirring constantly.
Add the Milk:
Gradually whisk in the warm milk and cream (if using), ensuring no lumps form. Continue cooking and stirring until the sauce thickens, about 3-4 minutes.
Add the Cheese and Seasoning:
Lower the heat to medium-low. Stir in the white cheddar cheese, Parmesan cheese, garlic powder, and nutmeg (if using). Mix until the cheese is fully melted and the sauce is smooth. Season with salt and pepper to taste.
Add the Spinach:
Fold the fresh spinach into the cheese sauce and cook for 1-2 minutes, or until the spinach wilts and is evenly distributed.
Combine with Pasta:
Add the drained pasta to the cheese sauce, stirring until the pasta is fully coated and creamy.
Serve:
Serve immediately, garnished with a sprinkle of Parmesan or freshly cracked black pepper if desired.