Prep the pan and oven: Heat the oven to 350°F (175°C). Grease a 9x13-inch baking dish with butter.
Dry out the bread (if needed): If your bread isn’t stale, spread cubes on a sheet pan and bake for 8–10 minutes to lightly dry.
You want it firm, not toasted.
Make the custard: In a large bowl, whisk together milk, cream, eggs, granulated sugar, brown sugar, melted butter, vanilla, cinnamon, nutmeg, and salt until smooth.
Combine: Add bread cubes to the custard and gently toss until every piece is coated. Fold in raisins and pecans, if using.
Soak: Let the mixture sit for 15–20 minutes so the bread absorbs the custard. Stir once or twice to help it soak evenly.
Transfer and level: Pour the mixture into the prepared baking dish, spreading it into an even layer.
Press down lightly with the back of a spoon to compact.
Bake: Bake for 40–50 minutes, until the edges are set and the center is just barely jiggly. The top should be golden with a few caramelized spots.
Rest: Let it cool for 10–15 minutes. This helps the custard finish setting and makes slicing easier.
Serve: Dust with powdered sugar and serve warm.
Add whipped cream or a drizzle of warm bourbon sauce for a classic touch.