Prep the pan and oven: Heat oven to 350°F (175°C).
Grease a 9x13-inch baking dish with butter.
Cube the bread: Cut day-old bread into 1-inch cubes. If your bread is fresh, spread the cubes on a sheet pan and toast in the oven for 8–10 minutes to dry them slightly.
Prep the apples: Peel, core, and dice apples into small, even pieces so they cook through. Toss with a teaspoon of lemon juice if you like, to keep them bright.
Mix the custard: In a large bowl, whisk eggs, milk, cream, granulated sugar, brown sugar, vanilla, cinnamon, nutmeg, and salt until smooth.
Combine: Add bread cubes and apples (and raisins or nuts, if using) to the bowl.
Pour in the melted butter. Gently fold until every piece is moistened.
Rest: Let the mixture sit for 10–15 minutes. This soak helps the bread absorb the custard and bake evenly.
Transfer to dish: Pour the mixture into the prepared baking dish.
Spread evenly and press down lightly to level the top.
Bake: Bake for 40–50 minutes, until the center is set and the top is golden with lightly crisp edges. A knife inserted in the center should come out mostly clean, with a bit of moisture but no runny custard.
Cool slightly: Let it rest for 10 minutes. This helps it slice neatly and the custard finish setting.
Serve: Enjoy warm, plain or with caramel sauce, maple syrup, whipped cream, or vanilla ice cream.