Lightly toast the bread cubes under broiler and set aside to cool.
Mix cream, sugars, eggs with bread cubes just until the eggs are incorporated.
Stir in the chocolate chips.
Place mixture in a 9 by 13 inch baking dish. Cover and refrigerate overnight or at least 6-8 hours.
Top with streusel topping and bake for 30-35 minutes at 350℉ or until center is set and top is crispy and brown.
For the streusel topping
Mix brown sugar and flour.
Add in butter cubes (or grated butter) until mixture resembles coarse sand.
Sprinkle over bread pudding before baking.
Notes
Use bread with a coarse texture like Challah, French, or Brioche. The bread should be 1-2 days old and slightly stale.
Toast bread cubes under broiler stirring as needed for uniform browning.
Whipping cream, half and half or whole milk may be substituted for heavy cream.
Watch closely for the pudding to slightly "puff" at the end of the baking time. This is the perfect time to remove it from the oven.
Serve without topping or top as desired with whipped cream, ice cream, a dusting of confectioners sugar, chocolate sauce, caramel sauce or bourbon sauce.