Preheat your oven to 350°F. Grease a 9x13-inch baking dish with butter or cooking spray.
In a large bowl, combine the cubed bread and diced peaches. Toss gently to mix.
In another bowl, whisk together the whole milk, heavy cream, eggs, granulated sugar, vanilla extract, ground cinnamon, and salt until well combined.
Pour the milk mixture over the bread and peaches, ensuring all the bread is soaked. Let it sit for about 15 minutes to absorb the liquid.
Drizzle the melted butter over the top of the mixture and sprinkle with brown sugar and chopped pecans, if using. Gently stir to combine.
Bake in the preheated oven for 45-50 minutes, or until the top is golden brown and a knife inserted in the center comes out clean.
Allow the bread pudding to cool for about 10 minutes before serving. Enjoy warm, optionally topped with whipped cream or vanilla ice cream.