Preheat oven to 350°F (175°C). Butter a 9x13-inch baking dish generously and arrange torn croissant pieces in an even layer.
Whisk together milk, heavy cream, eggs, granulated sugar, vanilla extract, cinnamon, and salt in a large bowl until completely smooth and sugar dissolves.
Pour custard mixture evenly over croissant pieces, pressing down gently with a spatula to ensure all pieces make contact with the liquid. Let stand for 15-20 minutes to absorb.
Drizzle melted butter over the top and sprinkle with turbinado sugar for a caramelized crust.
Cover baking dish tightly with aluminum foil and bake for 30 minutes.
Remove foil and continue baking for 15-20 minutes until the top is golden brown and crispy, and the center is set with just a slight jiggle.
Let cool for 10 minutes before serving warm. The pudding will continue to set as it rests.