Preheat your oven to 350°F (175°C) and grease a 9x13 inch baking dish.
Cut the day-old bread into 1-inch cubes and place them in the prepared baking dish.
In a mixing bowl, whisk together the whole milk, evaporated milk, sweetened condensed milk, and heavy cream until well combined.
In another bowl, whisk the eggs with the granulated sugar, vanilla extract, and ground cinnamon until the mixture is smooth.
Gradually pour the egg mixture into the milk mixture, whisking continuously to combine.
Pour the combined mixture over the bread cubes, making sure all the bread is soaked. Let it sit for about 15 minutes to allow the bread to absorb the liquid.
Bake in the preheated oven for 45-50 minutes or until the top is golden brown and the pudding is set.
Remove from the oven and let it cool slightly before serving.
Serve warm or chilled, topped with whipped cream and fresh berries if desired.