Preheat the oven to 350°F. Grease a 9-by-13-inch baking pan and line it with parchment paper.
In a medium bowl, whisk together the flour, baking powder, baking soda, salt, cinnamon, ginger, nutmeg, and cloves.
In a large bowl, whisk the pumpkin puree, brown sugar, granulated sugar, eggs, oil, buttermilk, and vanilla until smooth.
Add the dry ingredients to the wet ingredients. Fold gently until no dry flour remains. Do not overmix.
Spread the batter evenly in the prepared pan.
Bake for 32 to 38 minutes, or until the center springs back and a toothpick comes out clean or with a few moist crumbs.
Set the pan on a wire rack and let the cake cool completely.
To make the frosting, beat the butter until smooth. Add the cream cheese and beat just until combined.
Add the powdered sugar one cup at a time, mixing on low speed. Mix in the vanilla and salt.
Spread the frosting over the cooled pumpkin cake. Add pecans, cinnamon, or sprinkles if desired.
Refrigerate the cake for 30 minutes for cleaner slices, then cut and serve.