Prepare the bread: Arrange the bread cubes in a greased 9×13 inch baking dish. Sprinkle the blueberries evenly over the bread cubes.
Make the custard: In a large bowl, whisk together the eggs, milk, granulated sugar, vanilla extract, cinnamon, and salt until fully combined.
Soak the bread: Slowly pour the egg mixture over the bread and blueberries, ensuring all the bread absorbs the custard. Gently press down on the bread to help it soak.
Add butter: Drizzle the melted butter evenly over the top of the casserole.
Make ahead step: Cover the dish tightly with plastic wrap. Refrigerate for at least 4 hours, or preferably overnight.
Optional swirl: If using, beat the softened cream cheese with powdered sugar and lemon zest until smooth. Drop spoonfuls of the mixture over the soaked bread before covering and refrigerating, or just before baking.
Bake: Preheat your oven to 350 degrees Fahrenheit (175 degrees Celsius). Remove the plastic wrap.
Bake for 45 to 55 minutes, or until the casserole is puffed, golden brown on top, and the center is set (no liquid remains when poked).
Rest and serve: Let the casserole cool for 10 minutes before slicing. Dust with powdered sugar before serving.
Notes
Use slightly stale bread for the best texture; it soaks up the custard better without becoming mushy.
If you need to bake immediately, let the casserole sit at room temperature for 30 minutes after pouring the custard over the bread before baking.
For a brighter flavor, substitute 1 teaspoon of lemon zest into the custard mixture.