Preheat the oven to 350˚F (175˚C). Butter and sugar four 8-ounce ramekins.
In a stand mixer (or using hand mixers), beat the sugar and butter until the butter is evenly incorporated into the sugar (it should look like damp sand). Add the egg yolks, flour, lemon zest, lemon juice, milk and salt. Beat until smooth.
In a clean bowl (using clean beaters), beat the egg whites until they hold stiff peaks - they should hold a point when you lift the beaters (don't over-beat the whites, otherwise they could turn grainy and separate).
Stir one-third of the egg whites into the lemon batter. Fold in the remaining whites (the batter will be a bit lumpy and liquidy, but that’s okay). Using a ladle, divide the batter evenly among the prepared ramekins—try to get the same amount of liquid and egg white in each.
Arrange the ramekins in a straight-sided roasting pan or baking dish (a 9-inch square pan works well). Pour in enough warm water to come about halfway up the sides of the ramekins, being careful not to spill any water into the ramekins. Carefully slide the dish into the oven, and bake until the cakes are golden in spots on top, about 30 minutes.
Transfer the pudding cakes to a cooling rack, and let cool for at least 30 minutes. You can serve the cakes warm, at room temperature or chilled, either right in the ramekins or inverted onto serving plates. To invert the cakes, slide a thin knife around the edge, place a plate on top, then flip it over and give it one or two gentle shakes, or until the cake releases from the ramekin. Dollop the cakes with whipped cream before serving.