Prep the dish: Heat the oven to 350°F (175°C).
Grease a 9x13-inch baking dish (or similar) with butter.
Dry out the bread: If your bread is very fresh, spread the cubes on a sheet pan and bake for 8–10 minutes until slightly dry. This helps the pudding hold its shape.
Make the custard: In a large bowl, whisk the eggs, milk (and cream if using), sugar, vanilla, almond extract (if using), cinnamon, salt, and lemon zest until smooth.
Combine bread and berries: Add the bread cubes to the custard and toss gently to coat. Fold in the strawberries and raspberries, keeping some whole for texture.
Rest to soak: Let the mixture sit for 10–15 minutes so the bread absorbs the custard.
Stir once or twice to ensure even soaking.
Assemble: Pour the mixture into the prepared baking dish, spreading it evenly. Press down lightly with a spatula to level the surface.
Top and bake: Sprinkle 1–2 tablespoons of sugar over the top for a light crust. Bake for 35–45 minutes, until the center is set and the top is golden.
A knife inserted in the center should come out without liquid custard.
Cool slightly: Let it rest for 10 minutes. This helps it firm up and makes serving easier.
Serve: Spoon into bowls and finish with cream, ice cream, or a dollop of whipped cream. A few fresh berries or mint leaves make a nice touch.