01 - Preheat the oven to 350°F. Grease a 9×9 inch baking dish with butter or non-stick 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 streaks remain. Pour the filling into the prepared baking dish, spreading it into an even layer.
03 - In a medium bowl, whisk together the all-purpose flour, packed brown sugar, rolled oats, ground cinnamon, and a pinch of salt until evenly combined. Add the cold cubed butter and cut it in using a pastry cutter or your fingertips until the mixture forms coarse, pea-sized crumbs.
04 - Scatter the crisp topping evenly over the pumpkin filling, covering the surface completely.
05 - Bake on the center rack for 40 minutes, or until the topping is deep golden brown and the pumpkin filling is just set with a slight jiggle in the center.
06 - Remove from the oven and let the crisp 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.