01 - Grease a 9x13-inch baking dish. Arrange the cubed bread evenly within the prepared dish.
02 - In a large mixing bowl, vigorously whisk together the eggs, whole milk, heavy cream, granulated sugar, vanilla extract, ground cinnamon, ground nutmeg, and salt until thoroughly combined.
03 - Pour the prepared custard mixture evenly over the bread cubes, applying light pressure to ensure all bread pieces are fully saturated.
04 - In a small bowl, combine the melted unsalted butter, packed light brown sugar, and ground cinnamon, mixing to create a thick paste.
05 - Dollop spoonfuls of the cinnamon swirl mixture over the soaked bread cubes. Gently swirl the mixture into the bread using a knife to create a marbled appearance.
06 - Cover the baking dish and refrigerate for a minimum of 2 hours, or preferably overnight, to allow flavors to meld and bread to fully absorb the custard.
07 - Preheat your oven to 350°F (175°C). Remove the casserole from refrigeration and allow it to stand at room temperature for 20 minutes before baking.
08 - Bake the casserole uncovered for 40–45 minutes, or until it achieves a golden-brown hue and the center is set firm.
09 - While the casserole is baking, prepare the glaze. Beat the softened cream cheese until smooth, then incorporate the powdered sugar, vanilla extract, and milk, whisking until a pourable consistency is achieved.
10 - Once baked, generously drizzle the warm casserole with the prepared cream cheese glaze before serving.