Prep the pan and oven. Heat the oven to 350°F (175°C).
Grease a 9x13-inch baking pan and line the bottom with parchment for easy release.
Whisk dry ingredients. In a large bowl, whisk 2 cups all-purpose flour, 1 cup granulated sugar, 1/2 cup light brown sugar, 2 teaspoons baking powder, 1 teaspoon baking soda, 1 teaspoon kosher salt, 2 teaspoons cinnamon, 1/2 teaspoon nutmeg, 1/2 teaspoon ginger, and 1/4 teaspoon cloves (optional) until evenly combined.
Mix the wet ingredients. In a separate bowl, whisk 1 can (15 ounces) pumpkin puree, 3 large eggs, 3/4 cup neutral oil, 1 teaspoon vanilla extract, and 1/2 cup milk or buttermilk until smooth.
Combine gently. Pour the wet mixture into the dry ingredients. Stir with a spatula until just combined. Do not overmix—a few small lumps are fine.
Fill the pan. Spread the batter into the prepared pan, smoothing the top. Tap the pan lightly on the counter to release any large air bubbles.
Bake. Bake for 28–34 minutes, or until a toothpick inserted in the center comes out clean or with a few moist crumbs.
The edges should look set and slightly pull away from the sides.
Cool completely. Set the pan on a wire rack and let the cake cool fully before frosting, about 1 hour.
Make the frosting. Beat 8 ounces softened cream cheese with 1/2 cup softened unsalted butter until creamy. Add 2 1/2–3 cups powdered sugar, 1 teaspoon vanilla, and 1–2 teaspoons maple syrup or 1 teaspoon lemon juice to taste. Beat until fluffy and spreadable.
Frost and finish. Spread the frosting over the cooled cake.
Sprinkle with chopped toasted pecans or walnuts if you like. Slice and serve.