01 - Preheat the oven to 350°F. Grease a 9×9 inch baking dish with butter or nonstick spray.
02 - In a large mixing bowl, combine the pumpkin purée, granulated sugar, eggs, whole milk, heavy cream, pumpkin pie spice, vanilla extract, and salt. Whisk until completely smooth and no lumps remain. Pour the filling into the prepared baking dish, spreading it into an even layer.
03 - In a medium bowl, whisk together the flour, brown sugar, oats, cinnamon, and a pinch of salt. Add the cold cubed butter and cut it in using a pastry cutter or your fingertips until the mixture resembles coarse crumbs with some pea-sized pieces of butter remaining.
04 - Scatter the crisp topping evenly over the pumpkin filling, covering the surface completely.
05 - Bake for 40 minutes, or until the topping is deeply golden brown and the pumpkin filling is just set with a slight jiggle in the center.
06 - Allow the crisp to cool for at least 15 minutes before slicing. Serve warm or at room temperature, optionally topped with freshly whipped cream or a scoop of vanilla ice cream.