01 - Grease a 9 x 13 inch baking dish thoroughly with butter or cooking spray. Spread half of the bread cubes in an even layer across the bottom of the dish.
02 - Scatter the cream cheese cubes and half of the blueberries evenly over the bread layer. Arrange the remaining bread cubes on top, then distribute the rest of the blueberries over the surface.
03 - In a large mixing bowl, whisk together the eggs, milk, heavy cream, granulated sugar, and vanilla extract until fully combined and smooth.
04 - Pour the custard mixture evenly over the layered bread and berries. Gently press down on the bread with the back of a spoon to ensure all pieces absorb the liquid. Cover with plastic wrap and refrigerate for at least 30 minutes, or preferably overnight for optimal flavor and texture.
05 - Preheat your oven to 350°F (175°C) while the casserole finishes chilling.
06 - In a small bowl, combine the softened butter, light brown sugar, flour, cinnamon, and salt. Use a fork to mash and mix the ingredients until crumbly and evenly blended.
07 - Remove the casserole from the refrigerator. Sprinkle the streusel mixture evenly over the top. Bake uncovered for 40-45 minutes until the surface is golden brown and the center is set and no longer jiggly.
08 - Allow the casserole to cool for 10-15 minutes before serving. Dust with powdered sugar if desired. Serve warm with maple syrup, lemon curd, or whipped cream.