01 - Preheat oven to 350°F. Grease a 9x13-inch baking dish with butter or cooking spray.
02 - Place bread cubes in the prepared baking dish. Sprinkle raisins evenly over the bread if using.
03 - In a large bowl, whisk together milk, cream, eggs, sugar, melted butter, vanilla extract, cinnamon, nutmeg, and salt until fully combined.
04 - Pour custard mixture evenly over bread cubes. Press down gently to ensure bread absorbs liquid. Let stand for 10 minutes.
05 - Bake for 40 to 45 minutes until golden brown and set but still slightly soft in the center.
06 - While pudding bakes, melt butter in a small saucepan over medium heat. Stir in flour and cook for 1 to 2 minutes until bubbling but not browned.
07 - Gradually whisk in milk and cream, ensuring no lumps form. Add sugar and pinch of salt. Cook, stirring constantly, until thickened, about 5 minutes.
08 - Whisk egg yolk in a small bowl. Slowly add a few spoonfuls of hot sauce to temper, then pour back into saucepan, whisking constantly.
09 - Remove from heat. Stir in vanilla extract. Keep warm until serving.
10 - Serve warm bread pudding topped with warm vanilla sauce.