Cook the pasta in salted boiling water according to package directions. Reserve ½ cup of pasta water, then drain.
In the same pot, melt the butter over medium heat. Add the garlic and cook for 1 minute, until fragrant but not browned.
Sprinkle in the flour and whisk for 1 minute.
Slowly whisk in the milk and bring to a gentle simmer. Cook 3–4 minutes, stirring, until the sauce thickens.
Stir in the Parmesan until melted, then add the spinach and stir until wilted.
Add the pasta and toss to coat, adding pasta water a splash at a time if needed. Season with salt, pepper, and red pepper flakes and serve.