Preheat oven to 350°F (175°C). Grease a 9x9-inch (23x23 cm) baking dish or similar-sized pan.
Prepare the bread pudding: In a large mixing bowl, whisk together the milk, heavy cream, eggs, sugar, vanilla extract, cinnamon, and nutmeg until well combined.
Add the bread cubes to the egg mixture, pressing them down so they soak up the liquid. Let it sit for 10–15 minutes, allowing the bread to absorb the mixture.
Stir in the raisins or chocolate chips, if using.
Pour the mixture into the prepared baking dish. Drizzle the melted butter over the top.
Bake for 40–45 minutes, or until the pudding is golden brown on top and a knife inserted in the center comes out clean.
While the bread pudding is baking, prepare the sauce: In a small saucepan, combine the heavy cream and sugar. Heat over medium heat until it begins to simmer, stirring occasionally. Remove from heat and stir in the vanilla extract.
Serve the bread pudding warm with the optional sauce drizzled over the top.