Quick Recipe Version (TL;DR)
Quick Ingredients
- 300 g stale white bread, torn into small pieces
- 1 liter whole milk (4 1/4 cups)
- 150 g granulated sugar (3/4 cup) for caramel + 2 tbsp water
- 120 g granulated sugar (1/2 cup + 1 tbsp) for custard
- 4 large eggs
- 1 tsp vanilla extract
- Zest of 1 orange and 1/2 lemon
- 1/8 tsp fine salt; 1/4 tsp ground cinnamon (optional)
- 1/2 cup dulce de leche, for serving
- Boiling water for bain-marie
Do This
- 1. Heat oven to 325°F (160°C). Prepare a 9×5 in (23×13 cm) loaf pan and a deep roasting pan.
- 2. Caramel: Cook 150 g sugar + 2 tbsp water to deep amber; pour into loaf pan and tilt to coat bottom and sides.
- 3. Warm milk with 120 g sugar, vanilla, zests, salt, and cinnamon until steaming; rest 5 minutes.
- 4. Soak 300 g torn bread in hot milk 10 minutes; mash. Whisk in 4 eggs. Strain for extra-silky texture.
- 5. Pour into caramel-lined pan. Set in roasting pan; add boiling water halfway up sides. Cover loosely with foil.
- 6. Bake 55–70 minutes until just set and 175–180°F (80–82°C) in the center. Cool 30 minutes; chill 2 hours.
- 7. Unmold onto a platter so caramel pools. Slice and serve with a spoon of dulce de leche.
Why You’ll Love This Recipe
- Silky-smooth texture thanks to a gentle water bath and a quick strain.
- Bitter-amber caramel balances the sweet, creamy custard.
- Bright vanilla and citrus zest perfume every bite.
- Perfect use for day-old bread; simple ingredients, showstopping result.
Grocery List
- Produce: 1 orange, 1 lemon
- Dairy: Whole milk, large eggs
- Pantry: Granulated sugar, vanilla extract, ground cinnamon (optional), fine salt, stale white bread (baguette or sandwich loaf), dulce de leche
Full Ingredients
For the bitter caramel
- 150 g granulated sugar (3/4 cup)
- 2 tbsp water
For the bread–custard pudding
- 300 g stale white bread, crusts on or off, torn into 1–2 cm pieces (about 8 cups loosely packed)
- 1 liter whole milk (4 1/4 cups)
- 120 g granulated sugar (1/2 cup + 1 tbsp)
- 4 large eggs
- 1 tsp pure vanilla extract
- Finely grated zest of 1 orange
- Finely grated zest of 1/2 lemon
- 1/8 tsp fine salt
- 1/4 tsp ground cinnamon (optional)
For serving
- 1/2 cup dulce de leche
- Extra orange zest curls (optional)

Step-by-Step Instructions
Step 1: Prepare the oven and pans
Heat the oven to 325°F (160°C). Place a folded kitchen towel in the bottom of a deep roasting pan (this prevents slipping and promotes gentle, even cooking). Have ready a 9×5-inch (23×13 cm) metal loaf pan for the pudding. Put a kettle of water on to boil for the bain-marie.
Step 2: Make and pour the bitter caramel
In a small, heavy saucepan, combine 150 g sugar and 2 tbsp water. Cook over medium heat without stirring until the syrup turns a deep amber, 6–8 minutes. If needed, gently swirl the pan for even color. When it reaches a rich mahogany hue and smells just shy of bitter, immediately pour the caramel into the loaf pan. Tilt to coat the bottom and 2–3 cm up the sides. Set aside to firm while you make the custard.
Step 3: Warm and infuse the milk
In a medium saucepan, add the milk, 120 g sugar, vanilla, orange zest, lemon zest, salt, and cinnamon (if using). Warm over medium heat, stirring, until steaming and small bubbles appear at the edge, 3–5 minutes; do not boil. Remove from heat, cover, and let the aromatics infuse for 5 minutes.
Step 4: Soak the bread
Place the torn bread in a large bowl. Pour the hot milk mixture over the bread and press to submerge. Let soak for 10 minutes, then mash with a potato masher or fork until mostly smooth with a few small soft pieces.
Step 5: Add the eggs and refine the custard
Whisk the eggs in a separate bowl until homogeneous. Gradually whisk the eggs into the warm bread mixture. For the silkiest texture, blend briefly with an immersion blender, then strain through a fine-mesh sieve into a large pitcher, pressing gently to extract the custard. Skim any foam from the surface.
Step 6: Bake gently in a water bath
Set the caramel-lined loaf pan on the towel-lined roasting pan and pour in the custard. Slide the roasting pan onto the middle oven rack. Carefully pour boiling water into the roasting pan to reach halfway up the sides of the loaf pan. Cover the loaf pan loosely with foil (tenting to avoid touching the custard) and bake 55–70 minutes, until the edges are set and the center still has a slight wobble. An instant-read thermometer should read 175–180°F (80–82°C). Do not overbake.
Step 7: Cool, unmold, and serve
Remove the loaf pan from the water bath and cool on a rack for 30 minutes, then refrigerate uncovered until cold and firm, at least 2 hours. To unmold, run a thin knife around the edges. Dip the bottom of the pan in hot water for 15–20 seconds to loosen the caramel, then invert onto a rimmed platter so the caramel pools around the budín. Slice with a hot, dry knife. Serve each slice with a spoon of dulce de leche and a few curls of orange zest, if desired.
Pro Tips
- Strain the custard for that ultra-smooth, flan-like texture that makes budín irresistible.
- A deep amber (nearly bittersweet) caramel keeps the dessert from leaning too sweet—trust the color, not the clock.
- The towel under the pan in the water bath cushions heat and prevents bubbles and curdling.
- If your bread is very dry, add 2–4 tbsp extra milk to reach a thick but pourable custard.
- Chill thoroughly before unmolding; warm the pan briefly in hot water so the caramel releases cleanly.
Variations
- Rum-raisin: Soak 1/2 cup raisins in 2 tbsp dark rum for 15 minutes; fold into the custard before baking.
- Chocolate swirl: Marble in 1/3 cup warm melted dark chocolate before baking for a bicolor look.
- Coconut-citrus: Swap 1 cup of the milk for full-fat coconut milk and top the unmolded budín with toasted coconut.
Storage & Make-Ahead
Refrigerate, covered, for up to 4 days. This is an excellent make-ahead dessert: bake a day in advance, chill overnight, then unmold before serving. To serve warm, gently heat individual slices for 10–15 seconds in the microwave or 6–8 minutes at 300°F (150°C). Freezing is not recommended—the caramel may weep and the custard can become grainy.
Nutrition (per serving)
Approximate values: 380 kcal; 14 g fat; 52 g carbohydrates; 10 g protein; 41 g sugars; 1 g fiber; 220 mg sodium. Values will vary based on bread type and how much caramel is consumed.
