Preheat your oven to 350°F.
If you're using a homemade pie crust, roll it out on a lightly floured surface and transfer it to a 9-inch pie dish. If you're using a store-bought crust, skip this step.
Prick the bottom of the crust with a fork and line it with aluminum foil. Fill the foil with pie weights or dried beans to keep the crust from puffing up. Bake for 15 minutes.
In a medium saucepan, whisk together the sugar, flour, and salt. Gradually whisk in the cold water until smooth. Bring to a boil over medium heat, whisking constantly, and cook for 2 minutes or until thickened.
Remove from heat and stir in the butter, lemon zest, and lemon juice.
In a small bowl, beat the egg yolks with a fork. Gradually whisk in about 1 cup of the hot lemon mixture, whisking constantly.
Pour the egg mixture back into the saucepan with the remaining lemon mixture, whisking constantly.
Return the saucepan to medium heat and cook, whisking constantly, for 2-3 minutes or until thickened. Remove from heat and let cool for 10 minutes.
Pour the lemon filling into the pre-baked pie crust and smooth the top. Bake for 12-15 minutes or until the filling is set.
Let the pie cool to room temperature, then refrigerate for at least 2 hours or until chilled.