Grease your 9x13 inch baking dish with butter or cooking spray.
Spread the cubed bread evenly in the prepared baking dish.
In a large bowl, whisk together eggs, milk, pumpkin puree, sugars, vanilla extract, pumpkin pie spice, and salt until smooth.
Pour this pumpkin custard mixture over the bread cubes, making sure all pieces are evenly coated. Gently press down on the bread to help it absorb the custard.
Cover the dish with plastic wrap and refrigerate for at least 3 hours or overnight. This allows the bread to soak up all that pumpkin-y goodness!
When you're ready to bake, preheat your oven to 350°F (175°C).
In a small bowl, mix flour, brown sugar, and pumpkin pie spice for the topping. Cut in the cold butter using a pastry cutter or fork until the mixture resembles coarse crumbs.
Sprinkle the topping evenly over the casserole.
Bake for 45-55 minutes, or until the top is golden brown and the center is set.
Let it cool for 10-15 minutes before serving. This will allow the casserole to set and make it easier to slice.