Preheat your oven to 350°F (175°C) and lightly grease a 9x13-inch baking dish.
In a large bowl, whisk together pumpkin puree, evaporated milk, eggs, sugars, spices, salt, and vanilla until smooth.
Pour the pumpkin mixture into the prepared baking dish and spread evenly.
In another bowl, mix flour, oats, brown sugar, cinnamon, and salt. Cut in the cold butter using a fork or pastry cutter until the mixture resembles coarse crumbs.
Stir in chopped nuts if using, then sprinkle the topping evenly over the pumpkin filling.
Bake for 45–55 minutes or until the topping is golden and the filling is set around the edges but slightly soft in the center.
Cool on a wire rack for 20–30 minutes before serving.
Serve warm with whipped cream or vanilla ice cream.