Prepare the pan. Lightly grease a 9x13-inch baking dish or line it with parchment for easier lifting and slicing.
Make the crust. In a bowl, combine graham cracker crumbs, sugar, melted butter, and a pinch of salt. Stir until the mixture resembles damp sand and clumps when pressed.
Press evenly into the bottom of the pan. Use the bottom of a measuring cup to compact it firmly.
Chill the crust. Refrigerate for 10–15 minutes to help it set while you prepare the filling. If you want a slightly firmer crust, bake at 350°F (175°C) for 8–10 minutes, then cool completely before adding the filling.
Whisk the pudding base. In a mixing bowl, whisk the cold milk and instant pudding mix for 1–2 minutes until thickened slightly.
Set aside.
Beat the cream cheese. In a separate bowl, beat softened cream cheese with powdered sugar until smooth and fluffy. No lumps should remain.
Combine pumpkin and spices. Add pumpkin puree, pumpkin pie spice, cinnamon (if using), and vanilla extract to the cream cheese mixture. Beat until smooth and well blended.
Fold in the pudding and whipped topping. Gently fold the prepared pudding into the pumpkin mixture until just combined.
Then fold in 1 1/2 cups whipped topping to keep it light and airy. Don’t overmix.
Layer the filling. Spread the pumpkin cream layer evenly over the chilled crust. Smooth the top with an offset spatula for clean layers.
Add the final topping. Spread the remaining whipped topping evenly over the pumpkin layer.
Sprinkle with chopped nuts and a light dusting of cinnamon or nutmeg, if you like.
Chill to set. Cover the dish and refrigerate for at least 4 hours, or overnight for the best texture. This step helps the layers firm up and the flavors meld.
Slice and serve. Cut into squares with a sharp knife. Wipe the blade between cuts for clean edges.
Serve cold.