Bring a large pot of salted water to a boil and cook the pasta until just al dente, about 8 minutes. Drain and set aside, reserving a cup of pasta water.
While pasta cooks, heat olive oil in a large skillet over medium heat. Add minced garlic and cook for about 30 seconds until fragrant and golden, stirring constantly.
Add the shrimp to the skillet, cooking for 2-3 minutes per side until they turn pink and opaque with a slight sear. Remove shrimp from skillet and set aside.
Melt the butter in the same skillet, then whisk in flour to create a roux. Cook for about 1 minute until lightly golden, stirring constantly.
Gradually pour in the milk, whisking continuously to prevent lumps. Bring the mixture to a gentle simmer and cook for 5 minutes until the sauce thickens and coats the back of a spoon.
Stir in lemon zest, lemon juice, and season with salt, pepper, and red pepper flakes if using. Adjust the sauce's consistency with reserved pasta water as needed to keep it silky.
Return the cooked shrimp to the skillet, tossing to coat in the sauce, and heat for another minute.
Add the drained pasta to the skillet, tossing gently to combine everything and heat through. The pasta should glisten with the creamy sauce.
Sprinkle chopped parsley over the top, adjust seasoning if needed, then serve immediately while hot and glossy.