Prep the pan: Grease a 9x13-inch baking dish with butter. This helps the casserole release cleanly and encourages those crispy edges.
Cut the panettone: Slice the panettone into 1.5–2-inch cubes.
If it’s very fresh, spread the cubes on a baking sheet and let them dry for 30–60 minutes to help them absorb custard evenly.
Make the custard: In a large bowl, whisk together eggs, milk, cream, granulated sugar, brown sugar, vanilla, cinnamon, nutmeg, and salt until smooth and well combined.
Assemble: Add half the panettone cubes to the dish. Sprinkle any mix-ins over this layer if using. Add the remaining cubes, then pour the custard evenly over the top.
Gently press the bread down so it soaks up the liquid.
Add butter: Drizzle the melted butter over the top. This helps browning and adds richness.
Rest: Cover tightly with foil or wrap and refrigerate for at least 1 hour, preferably overnight. Resting gives the best texture.
Preheat and bake: Heat the oven to 350°F (175°C).
Bake covered for 25 minutes, then uncover and bake another 20–30 minutes until puffed, golden, and set in the center. A knife inserted in the middle should come out mostly clean with custard but not runny.
Finish: Let it cool for 10 minutes. Dust with powdered sugar or add a little orange zest.
Serve warm with maple syrup or a dollop of yogurt or whipped cream.