01 - Preheat oven to 350°F. Grease a 9x13-inch baking dish with butter or cooking spray.
02 - Spread bread cubes evenly in the prepared dish. Sprinkle raisins over the bread if using.
03 - Whisk together milk, cream, eggs, sugar, melted butter, vanilla, cinnamon, nutmeg, and salt in a large bowl 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-45 minutes until golden brown and set, with center still slightly soft.
06 - While pudding bakes, melt butter in a small saucepan over medium heat. Stir in flour and cook 1-2 minutes until bubbling but not browned.
07 - Gradually whisk in milk and cream until smooth. Add sugar and salt. Cook, stirring constantly, for about 5 minutes until thickened.
08 - Whisk egg yolk in a small bowl. Gradually add a few spoonfuls of hot sauce while whisking, then return mixture to saucepan.
09 - Cook for 1 additional minute, stirring constantly. Remove from heat and stir in vanilla extract. Keep warm.
10 - Serve warm bread pudding immediately, topped with warm vanilla sauce.