- Preheat oven and prep dish: Set the oven to 350°F (175°C) and grease a 9×13-inch baking dish with butter.
- Mix custard base: In a large bowl, whisk together the eggs, granulated sugar, vanilla extract, cinnamon, nutmeg, and salt until smooth.
- Add milk and cream: Pour in the whole milk and heavy cream, whisking until fully combined.
- Arrange bread and raisins: Place the cubed bread in the prepared dish. Sprinkle raisins over the bread if using.
- Pour custard over bread: Evenly pour the custard mixture over the bread, pressing gently to ensure all pieces absorb the custard.
- Top with butter: Drizzle the melted butter over the top of the pudding.
- Let it soak: Allow the mixture to rest at room temperature for 15 minutes so the bread soaks up the custard.
- Bake: Bake for 45–50 minutes, or until the top is golden and the custard is set (the center should no longer jiggle excessively).
- Prepare vanilla custard sauce: While the pudding bakes, heat heavy cream, milk, and sugar in a saucepan over medium heat. Stir constantly until the sugar dissolves and the mixture is steaming and slightly thickened (do not boil). Remove from heat and stir in vanilla extract.
- Serve: Serve the bread pudding warm, drizzled generously with the vanilla custard sauce.