Preheat your oven to 350°F and grease a 9x13-inch baking dish with butter.
Place the bread cubes in the prepared baking dish and spread them out evenly.
In a large bowl, whisk together the milk, eggs, sugar, melted butter, vanilla, cinnamon, nutmeg, and salt until smooth.
Pour the custard mixture over the bread cubes, pressing down gently to ensure all pieces are soaked, and let sit for 15-20 minutes.
If using raisins, sprinkle them evenly over the top of the pudding.
Bake for 40-45 minutes, until the top is golden brown and the center is set but still slightly wobbly.
Let cool for 10 minutes before serving warm with whipped cream or vanilla sauce.