1. Bring a large pot of generously salted water to a boil. Boil the pasta until very al dente (2-3 mins less than package directions). Reserve 1 cup of pasta water, then drain the pasta. (Or if you can line up the timing, transfer the pasta directly into the saucepan with a mesh skimmer).
2. Meanwhile, in a large skillet over medium heat, melt the butter and then add the flour. Cook the flour in the butter for 1 min while whisking, then start gradually adding the milk 1/2 cup at a time, whisking to fully incorporate it before adding more. Once all of the milk is added, add the salt and pepper and turn up the heat to medium high until the sauce begins to bubble and thickens slightly (1-2 mins).
3. Add the pasta and mix it with the sauce using tongs. Continue cooking, adding pasta water as needed (I added ~1/4 cup here), until the pasta is your desired tenderness (2-3 mins). Turn off the heat and mix in the parmesan along with some more pasta water if needed (I added ~1/4 cup more). Mix in the lemon juice and lemon zest. Taste and adjust seasoning if desired.
4. Serve with freshly grated parmesan and lemon zest on top and enjoy!