Step 1
Preheat oven to 350°F. Grease and flour three 9-inch round pans. Set aside.
Step 2
In a medium bowl, whisk together the flour, baking soda, salt, cinnamon, and ginger.
Step 3
In a large bowl, beat the eggs, sugars, oil, buttermilk, and vanilla until smooth. Add the flour mixture and beat at low speed until combined. Fold in carrots, pineapple, and walnuts.
Step 4
Evenly distribute the batter into the prepared pans. Bake for 25-30 minutes until a toothpick inserted in the middle of the cake comes out clean. Remove cakes from oven and cool in the pan for 10 minutes. Carefully remove cakes from pans and cool completely on wire racks.
Step 5
While the cakes are cooling down, prepare the cream cheese frosting. In a large bowl, beat butter and cream cheese, at medium speed, until creamy. About 2 minutes. Reduce to low speed and add powdered sugar and vanilla. When all ingredients are combined, increase the speed to medium and beat for 1 to 2 more minutes, until creamy. To adjust the consistency of the frosting, add more sugar for firmness or a few teaspoons of milk for a softer consistency.
Step 6
Once the cakes are completely cool, spread cream cheese frosting between the layers and the top of cake. Decorate with chopped walnuts.