Italian bread, French bread, challah, or leftover rolls all work well. With softer white breads, it’s best to use slightly stale bread for texture, or you can cube it and toast it to prevent it from getting soggy.
Mix the sugar and egg yolks until combined, then whisk in the milk, vanilla and heavy cream. Set aside.
Peel and slice the apples. Cook them down in a skillet with butter until soft and caramelized, but not falling apart.
Layer half the bread cubes in a buttered 9x13 baking dish. Add the apples, then the other half of the bread cubes.
Pour the custard over the bread and apples. Press down gently on the bread cubes to absorb custard, then bake for 50-55 minutes.
While the bread pudding is baking, whisk the caramel sauce ingredients in a saucepan for 5-7 minutes over medium-low heat, until thickened.
Serve the warm bread pudding with a drizzle of caramel sauce and a dollop of whipped cream or ice cream on top.