Prepare your baking dish by greasing a 9×13 inch baking dish with butter or cooking spray. This prevents sticking and helps create a lovely crust.
Cut the bread into 1-inch cubes and spread them evenly in the prepared baking dish. Slightly stale bread works best as it absorbs the custard without becoming soggy.
In a large bowl, whisk together the eggs, whole milk, heavy cream, granulated sugar, brown sugar, vanilla extract, cinnamon, nutmeg, and salt until well combined and slightly frothy.
Mash the ripe bananas in a separate bowl until fairly smooth but still with some texture. The riper the bananas, the more pronounced the flavor will be.
Fold the mashed bananas into the egg mixture, stirring gently until evenly incorporated throughout the custard base.
Pour the banana custard mixture evenly over the bread cubes in the baking dish, making sure all pieces are soaked. Press down gently with a spatula to help absorption.
Cover with plastic wrap and refrigerate for at least 30 minutes or up to overnight, allowing the bread to fully absorb the custard mixture.
Preheat your oven to 350°F (175°C) while the pudding rests. Position a rack in the middle of the oven.
Sprinkle the chopped nuts (if using) over the top of the pudding and drizzle with the melted butter for a golden finish.
Bake uncovered for 50-60 minutes until the pudding is puffed, golden brown, and a knife inserted in the center comes out clean with no liquid custard.
Let rest for 15 minutes before serving to allow the pudding to set up properly. This waiting period is crucial for the perfect texture.