Cut the loaf into cubes and place half of them evenly in a greased 9x13 pan.
Place cream cheese powdered sugar and vanilla in a medium bowl and beat until smooth. Drop spoonfuls of cream cheese mixture over bread cubes, then top with remaining bread cubes.
In a bowl, mix eggs, milk, heavy cream, sugar, and vanilla. Pour evenly over the bread. Cover your pan with plastic wrap and refrigerate overnight (or for a few hours)
Mix flour, brown sugar, cinnamon, and salt in a medium bowl.
Cut in butter with this mixture until crumbly. Place in a Ziploc bag and refrigerate overnight as well.
Preheat the oven to 350°F.
Take the pan and Ziploc bag out when ready to bake. Sprinkle crumbly mixture evenly over the bread. Bake for 45 minutes to 1 hour depending on how soft you like it.