Preheat the Oven: Preheat your oven to 350°F (175°C). Grease and flour three 9-inch round cake pans.
Mix Dry Ingredients: In a medium bowl, whisk together the flour, baking powder, baking soda, spices (cinnamon, ginger, nutmeg, cloves), and salt. Set aside.
Mix Wet Ingredients: In a large mixing bowl, combine the granulated sugar, light brown sugar, and vegetable oil. Beat on medium speed until well blended. Add the eggs one at a time, mixing well after each addition. Stir in the pumpkin puree and vanilla extract.
Combine Ingredients: Gradually add the dry ingredients to the wet mixture. Mix on low speed just until combined, being careful not to overmix. Scrape the sides of the bowl as necessary.
Bake the Cakes: Divide the batter evenly among the three prepared cake pans. Smooth the tops with a spatula. Bake in the preheated oven for 25-30 minutes, or until a toothpick inserted into the center comes out clean.
Cool the Cakes: Remove the cakes from the oven and let them cool in the pans for 10 minutes. Then, carefully invert them onto wire racks to cool completely.
Prepare the Frosting: In a mixing bowl, beat the softened butter and cream cheese together on medium speed until smooth and creamy. Gradually add the powdered sugar, followed by the spices, vanilla extract, and salt. Mix until the frosting is smooth and spreadable.
Assemble the Cake: Place the first layer of cake on a serving plate. Spread a generous amount of spiced cream cheese frosting on top. Repeat with the second layer, then place the third layer on top.
Frost the Sides: Use the remaining frosting to cover the top and sides of the cake. Use a spatula to create a smooth finish. Decorate with dollops of whipped cream, a sprinkle of ground cinnamon or pumpkin spice, and chopped nuts if desired.
Chill and Serve: For best flavor, refrigerate the cake for at least 1 hour before slicing to allow the flavors to meld. Serve at room temperature.