Prep the bread:
Preheat your oven to 350°F (175°C). Grease a 9x13-inch baking dish with butter. Cube your bread into bite-sized pieces and spread them evenly in the dish. If your bread is very fresh, toast it lightly for 5–10 minutes to dry it out.
Make the custard mixture:
In a large mixing bowl, whisk together the eggs, sugar, vanilla, cinnamon, nutmeg, and salt until smooth. Slowly add in the milk and cream, whisking until well combined.
Soak the bread:
Pour the custard evenly over the bread cubes. Gently press the bread down with a spoon or spatula to help it absorb the mixture. Let it sit for about 10–15 minutes so the bread fully soaks up the liquid. Sprinkle raisins or nuts on top if using.
Bake it:
Drizzle the melted butter over the top and bake uncovered for 45–55 minutes, until the pudding is golden brown and a knife inserted in the center comes out clean. The center should be set but still soft and custardy.
Make the sauce (optional):
In a small saucepan, melt butter over medium heat. Stir in powdered sugar and vanilla, then whisk in cream (or bourbon) until smooth and slightly thickened. Pour warm over servings of bread pudding.
Serve and enjoy:
Serve warm from the oven with the sauce drizzled on top. A scoop of vanilla ice cream or a dollop of whipped cream makes it extra special.