Prep the oven: Preheat to 350°F (175°C). Grease an 8x8 baking dish.
Assemble: Add bread cubes and apples to dish. In a bowl, whisk eggs, milk, cream, sugar, spices, salt, and vanilla. Pour evenly over bread.
Soak: Let sit 10–15 minutes so bread absorbs custard. Press gently with a spoon.
Top & bake: Drizzle with melted butter. Bake for 40–45 minutes, until golden and set.
Make caramel: While pudding bakes, heat brown sugar, butter, and cream in a saucepan. Simmer 3–5 minutes. Remove from heat, stir in salt and vanilla.
Serve: Spoon warm caramel over bread pudding. Add whipped cream or ice cream if desired.