01 - Preheat oven to 350°F. Generously grease a 9x13-inch baking dish with butter or cooking spray.
02 - Spread bread cubes evenly in the prepared baking dish. Scatter raisins over the bread if using them.
03 - In a large mixing bowl, whisk together milk, cream, eggs, sugar, melted butter, vanilla extract, cinnamon, nutmeg, and salt until fully combined and sugar dissolves.
04 - Pour custard mixture evenly over bread cubes. Press down gently with a spatula to submerge bread in liquid. Let stand for 10 minutes to allow absorption.
05 - Bake for 40-45 minutes until golden brown, set around edges, and slightly soft in the center. A knife inserted should come out clean.
06 - While pudding bakes, melt 2 tbsp butter in a small saucepan over medium heat. Whisk in flour and cook for 1-2 minutes until bubbling and lightly fragrant, being careful not to brown.
07 - Gradually whisk in milk and cream, ensuring smooth consistency. Add sugar and pinch of salt. Cook, stirring constantly, for about 5 minutes until thickened enough to coat a spoon.
08 - Whisk egg yolk in a small bowl. Slowly add 2-3 spoonfuls of hot sauce while whisking vigorously to temper the yolk, then return mixture to saucepan.
09 - Cook sauce for 1 additional minute while whisking constantly. Remove from heat and stir in vanilla extract. Keep warm until serving.
10 - Scoop warm bread pudding into bowls and generously spoon vanilla sauce over the top. Serve immediately while warm.