Preheat your oven to 350°F. Use baking spray or Grease and flour two 9-inch round cake pans. Set aside.
In a large bowl, whisk together the flour, baking powder, baking soda, cinnamon, ginger, nutmeg, cloves, and salt. Set aside.
2 cups all-purpose flour, 1 ½ teaspoons baking powder, 1 teaspoon baking soda, 1 ½ teaspoons ground cinnamon, ½ teaspoon ground ginger, ¼ teaspoon ground nutmeg, ¼ teaspoon ground cloves
In another bowl, whisk the sugars, oil, eggs, and vanilla extract until smooth and combined.
½ teaspoon salt, 1 cup granulated sugar, ¾ cup brown sugar, 1 cup vegetable oil, 4 large eggs, 2 teaspoons vanilla extract
Gradually stir the grated carrots into the wet ingredients.
2 ½ cups grated carrots
Add the dry ingredients to the wet mixture, stirring until just combined. If using, fold in the chopped nuts.
½ cup chopped walnuts or pecans
Divide the batter evenly between the prepared cake pans. Bake for 35-40 minutes or until a toothpick inserted into the center comes out clean. Allow the cakes to cool in the pans for 10 minutes, then transfer them to a wire rack to cool completely.
Beat the cream cheese and butter together until smooth and creamy. Gradually add the powdered sugar, vanilla extract, and milk (if needed for spreading consistency) and beat until well combined.
8 ounces cream cheese, ½ cup unsalted butter, 3 cups powdered sugar, 1 teaspoon vanilla extract, 1-2 tablespoons milk
Once the cakes are completely cool, spread a thick layer of cream cheese frosting over the top of one cake layer. Place the second layer on top and frost the top and sides of the cake.
Garnish with additional chopped nuts, shredded coconut, or carrot decorations.