Preheat oven to 375F (190C).
Cut bread into 1” cubes and set aside.
In a large mixing bowl, combine sugars, melted butter, vanilla extract, cinnamon, and salt and whisk until well combined.
Add eggs and whisk well.
Add milk and heavy cream and whisk until mixture is well combined.
Place bread pieces in a large mixing bowl and pour egg mixture evenly over bread. Gently toss with a spatula until bread is thoroughly coated with the custard.
Pour contents evenly into 2.5qt casserole dish (make sure you add all the liquid from the bowl!).
Dot the top of the bread with the butter pieces. If desired, sprinkle the entire surface evenly with turbinado sugar.
Transfer to center rack of 375F (190C) oven and bake for 50-55 minutes. The surface will be browned and the center will still be slightly jiggly when finished baking. Prepare sauce (if using) while the pudding cools.
For the sauce
In a small saucepan, combine butter, sugars, heavy cream, and salt. Heat over medium-low heat, stirring often, until sugar is melted.
Increase heat to medium and bring mixture to a boil, stirring often.
When mixture reaches a full rolling boil, remove from heat, add vanilla extract, and stir well. Allow mixture to cool for about 10 minutes or so, it will thicken as it cools.
Drizzle approximately half the sauce over the surface of the pudding, reserving the rest for serving on the side. Enjoy!