In a mixing bowl whisk together the heavy cream, milk, eggs, brown sugar, melted butter, rum extract and cinnamon.
Grease an 8x8 or 9x9 baking dish with butter. Rip the croissants into smaller pieces. Place the ripped up croissants into the baking dish.
Pour the custard mixture over the croissants. Put it in the fridge and let it soak for 45 minutes.
Pre-heat the oven to 350 degrees. Bake uncovered for 40-45 minutes on the middle rack of the oven. The top and edges should be browned and the middle a little spongy but not falling apart. Don’t overbake or it will be dry! Remove from the oven and let cool.
While cooling make the rum sauce. Mix together the cornstarch and water, this will make a slurry to thicken the sauce.
In a saucepan over medium heat add the butter, sweetened condensed milk, heavy cream and vanilla extract. Stir constantly until everything is incorporated together for about 4 minutes. Stir in the cornstarch slurry until the sauce is thickened, about 4-5 additional minutes.
Remove from the heat, pour in the amaretto and rum and whisk until smooth. If the sauce seems too thick, stir in 2 tablespoons of heavy cream or milk.
Pour half of the sauce over the bread pudding and save the other half for serving.
Eat and enjoy!