Quick Recipe Version (TL;DR)
Quick Ingredients
- 6 large croissants (about 18 oz/510 g), cut into 1.5-inch pieces
- 2 cups (480 ml) whole milk + 1 cup (240 ml) heavy cream
- Zest of 1 orange + 1/3 cup (80 ml) fresh orange juice
- 8 oz (225 g) dark chocolate, 60–70% (6 oz for custard, 2 oz to sprinkle)
- 4 large eggs + 2 large yolks
- 1/2 cup (100 g) granulated sugar, plus 1/2 cup (100 g) sugar, 1/4 cup (50 g) sugar, and 1/2 cup (120 ml) water for candied peel
- 1 tsp vanilla; 1/4 tsp fine salt; 1 tsp instant espresso powder (optional)
- 1 tbsp orange liqueur (optional)
- 1 tbsp unsweetened cocoa + 2 tsp powdered sugar for dusting
- Butter for greasing
Do This
- 1. Heat oven to 350°F (175°C). Butter a 9×13-inch dish. Toast croissant pieces on a sheet pan 8–10 minutes to dry.
- 2. Warm milk, cream, orange zest, vanilla, and espresso until steaming; cover 10 minutes.
- 3. Pour hot dairy through a sieve over 6 oz chopped chocolate, 1/2 cup sugar, and salt; sit 2 minutes, whisk smooth. Whisk in orange juice and liqueur.
- 4. Whisk eggs and yolks; temper with warm chocolate mixture, then whisk in all and strain.
- 5. Arrange croissants in dish, sprinkle remaining 2 oz chocolate, pour custard, press to submerge. Soak 15 minutes.
- 6. Candy peel: simmer thin orange peel strips 1 minute, drain; repeat. Simmer in 1/2 cup sugar + 1/2 cup water 10 minutes; toss in 1/4 cup sugar, dry on parchment.
- 7. Bake pudding 35–40 minutes until just set. Rest 15 minutes, dust with cocoa-sugar, top with candied peel, serve warm.
Why You’ll Love This Recipe
- Buttery croissants bake into a custardy, ultra-silky chocolate base with vivid orange aroma.
- Orange zest and fresh juice brighten the chocolate so each bite tastes balanced, not heavy.
- Quick candied orange peel delivers a beautiful, glossy garnish with gentle chew.
- Easy enough for a cozy weekend bake, special enough for dinner parties and holidays.
Grocery List
- Produce: 2 large oranges
- Dairy: Whole milk, heavy cream, large eggs, unsalted butter
- Pantry: All-butter croissants, dark chocolate (8 oz), granulated sugar, powdered sugar, unsweetened cocoa powder, vanilla extract, instant espresso powder (optional), orange liqueur (optional), fine salt
Full Ingredients
For the chocolate–orange custard
- 2 cups (480 ml) whole milk
- 1 cup (240 ml) heavy cream
- Zest of 1 large orange (about 1 tbsp)
- 6 oz (170 g) dark chocolate, 60–70%, finely chopped
- 1/2 cup (100 g) granulated sugar
- 1 tsp pure vanilla extract
- 1 tsp instant espresso powder (optional)
- 1/3 cup (80 ml) fresh orange juice
- 1 tbsp orange liqueur, such as Grand Marnier (optional)
- 4 large eggs + 2 large yolks, at room temperature
- 1/4 tsp fine sea salt
For the croissants and pan
- 6 large all-butter croissants (about 18 oz/510 g), day-old if possible, cut into 1.5-inch pieces
- 2 oz (55 g) dark chocolate, chopped (for sprinkling between layers; optional but lovely)
- Unsalted butter, for greasing the dish
Quick candied orange peel
- Peel from 1 large orange, cut into thin strips (about 1/8 inch wide, 2–3 inches long)
- 1/2 cup (120 ml) water
- 1/2 cup (100 g) granulated sugar, plus 1/4 cup (50 g) for coating
- Pinch of salt
To finish
- 1 tbsp unsweetened cocoa powder
- 2 tsp powdered sugar
- Flaky sea salt, a small pinch (optional)

Step-by-Step Instructions
Step 1: Prep the oranges, pan, and croissants
Heat the oven to 350°F (175°C). Butter a 9×13-inch (3-quart) baking dish. Before zesting, use a vegetable peeler to remove wide strips of peel from 1 orange; slice into thin matchsticks for candying and set aside. Finely zest the second orange for the custard, then juice the oranges to yield 1/3 cup (80 ml) juice. Cut the croissants into 1.5-inch pieces. Spread on a baking sheet and toast 8–10 minutes to dry slightly; cool while you make the custard.
Step 2: Warm and infuse the dairy
In a medium saucepan, combine milk, cream, orange zest, vanilla, and espresso powder (if using). Warm over medium heat until steaming with small bubbles around the edges (do not boil). Remove from heat, cover, and let steep 10 minutes to infuse with orange.
Step 3: Make the chocolate–orange custard
Place 6 oz (170 g) chopped chocolate, 1/2 cup (100 g) sugar, and the salt in a large heatproof bowl. Set a fine-mesh sieve over the bowl and pour the hot dairy through the sieve, discarding zest. Let sit 2 minutes, then whisk until smooth and glossy. Whisk in the orange juice and orange liqueur (if using). In a separate bowl, whisk the eggs and yolks. Slowly whisk in about 1 cup of the warm chocolate mixture to temper, then whisk the egg mixture back into the bowl. For a silky texture, strain the custard once more into a large pitcher or bowl.
Step 4: Assemble and soak
Arrange half the croissants in the prepared dish. Sprinkle with half of the remaining 2 oz (55 g) chopped chocolate, then add the rest of the croissants and remaining chopped chocolate. Pour the custard evenly over the top, pressing the croissants down gently with the back of a spoon so they are mostly submerged. Let soak 15 minutes on the counter (or cover and refrigerate up to 12 hours; add 5–10 minutes to the bake time if chilled).
Step 5: Make quick candied orange peel
Place the orange peel strips in a small saucepan, cover with cold water, and bring to a boil; simmer 1 minute. Drain and repeat once more to reduce bitterness. Return the pan to medium heat with 1/2 cup (120 ml) water, 1/2 cup (100 g) sugar, and a pinch of salt. Add the peel and simmer gently 10 minutes until translucent. Using tongs, transfer the peel to a parchment-lined plate. Toss warm peel in 1/4 cup (50 g) sugar to coat, then spread to dry while the pudding bakes. Reserve the orange syrup for optional drizzling.
Step 6: Bake until just set
Bake the pudding at 350°F (175°C) for 35–40 minutes, until the edges are puffed and set and the center still has a gentle wobble (an instant-read thermometer inserted in the center should read about 170°F/77°C). If the top browns too quickly, tent loosely with foil for the last 10 minutes.
Step 7: Finish and serve
Cool 15 minutes to allow the custard to settle. In a small bowl, mix the cocoa powder with powdered sugar. Dust over the pudding through a fine sieve. Top with generous curls of candied orange peel and, if you like, a few grains of flaky salt. Drizzle a little reserved orange syrup over servings. Serve warm.
Pro Tips
- Day-old croissants absorb custard best. If they’re very fresh, the brief toasting step is essential.
- Strain the custard for a perfectly smooth texture and to remove any eggy bits or zest.
- Don’t overbake: pull it when the center still jiggles slightly. It will finish setting as it cools.
- A water bath is optional for ultra-gentle baking: set the dish in a larger pan and add hot water halfway up the sides; bake 40–45 minutes.
- Make the candied peel while the custard soaks or the pudding bakes to keep the timeline efficient.
Variations
- Brioche or challah swap: Use 1 lb (450 g) brioche or challah cubes instead of croissants.
- Almond–orange: Add 1/2 cup (45 g) toasted sliced almonds between layers; swap orange liqueur for 1 tbsp amaretto.
- Extra-chocolatey: Stir 1/2 cup (85 g) chocolate chips into the custard-soaked croissants for melty pockets.
Storage & Make-Ahead
Refrigerate leftovers, covered, for up to 4 days. Reheat portions at 300°F (150°C) for 12–15 minutes or microwave gently until warm. Assemble-and-hold: after Step 4, cover and refrigerate up to 12 hours; bake straight from the fridge, adding 5–10 minutes. Candied orange peel keeps 1 week in an airtight container at room temperature.
Nutrition (per serving)
Approximate values: 710 calories; 48 g fat; 63 g carbohydrates; 10 g protein; 5 g saturated fat; 230 mg sodium; 3 g fiber; 38 g sugars. Calculated using typical ingredient databases; actual values will vary.
