Prepare the bread: Lightly grease a 9x13 inch baking dish with butter. Scatter the torn bread pieces evenly in the prepared dish.
Make the custard: In a large bowl, whisk together the eggs, whole milk, heavy cream, granulated sugar, vanilla extract, and salt until well combined and smooth.
Soak the bread: Pour the custard mixture evenly over the bread in the baking dish. Gently press down on the bread pieces to ensure they are fully submerged and absorb the liquid. Let it sit at room temperature for at least 30 minutes, or even better, cover and refrigerate for 2 hours or overnight. This crucial soaking time is essential for a moist, non-dry interior and helps achieve that gooey center.
Add the fillings: After soaking, gently stir in the cream cheese cubes and 1 cup of the dark chocolate chunks, distributing them evenly throughout the bread mixture.
Bake: Preheat your oven to 350°F (175°C). Sprinkle the remaining ½ cup of dark chocolate chunks over the top of the bread pudding. Bake for 45-55 minutes, or until the top is golden brown and the center is set but still slightly jiggly when gently shaken. An important tip for a gooey center is to not overbake. The pudding will continue to set slightly as it cools.
Cool and Serve: Remove from the oven and let it cool for at least 15-20 minutes before serving. This allows the creamy center to fully settle and achieve that perfect gooey texture. Serve warm.
