Prep the pan and oven: Preheat the oven to 325°F (160°C).
Line an 8-inch (20 cm) square baking pan with parchment, leaving overhang for easy lifting. Lightly grease the sides.
Warm the milk: Heat the milk gently until just warm to the touch (not hot). This helps the batter come together and promotes clean layering.
Separate the eggs: Place egg whites in a clean bowl and yolks in a large mixing bowl.
Make sure no yolk gets into the whites.
Whip the egg whites: Add a pinch of salt to the whites and beat until stiff peaks form. Set aside. The whites should be glossy and hold their shape.
Whisk the yolks and sugar: In the bowl with yolks, whisk with the granulated sugar until pale and slightly thick, about 2 minutes.
Add butter and vanilla: Whisk in the melted, cooled butter and the vanilla.
If you’re using lemon zest, add it now.
Incorporate the flour and salt: Sift the flour and the remaining salt over the yolk mixture. Whisk until smooth and no dry pockets remain.
Stream in the milk: Gradually whisk in the warm milk in 2–3 additions. The batter will look thin—this is right.
Fold in the egg whites: Add the beaten whites in three parts, gently folding.
Leave some small, visible puffs of white throughout the batter. Do not overmix; those airy pockets help form the layers.
Pour and bake: Pour the batter into the prepared pan. Bake for 45–55 minutes, until the top is golden and set but still slightly jiggly in the center when you nudge the pan.
A light crackle on top is normal.
Cool completely: Let the cake cool in the pan on a rack for at least 1 hour. Then refrigerate for 2–3 hours to firm the custard layer.
Slice and serve: Lift out using the parchment. Dust with confectioners’ sugar.
Cut into squares with a sharp knife, wiping the blade between cuts for clean edges. Serve chilled or at cool room temperature.