adapted from Mary Engelbreit's Sweet Treats Dessert Cookbook
Preheat over to 350°. Grease two 9-inch round cake pans. Line the pans with parchment paper. Lightly grease and flour.
In a medium bowl, whisk together flour, baking powder, baking soda, cinnamon, ginger, allspice, and salt. Set aside.
In a large bowl, beat the eggs with an electric mixer until frothy. Gradually beat in the granulated and brown sugars. Beat in the oil and vanilla until thoroughly blended.
On low speed, beat in the flour mixture. With a large spoon, stir in the carrots and walnuts. Pour the batter into the prepared pans.
Bake the layers for 33 minutes or until the toothpick comes out clean. *Original recipe called for baking them much longer but we found 33 minutes to be the magic number. Keep an eye on them and use the toothpick test.
Let the cakes cool on a wire rack for 15 minutes. Remover the layers from the pan and let cool completely.
Make the frosting. In a medium bowl, beat the cream cheese and butter with an electric mixer until light and fluffy. Beat in vanilla. Gradually beat in the confectioners' sugar until shiny and smooth.
Place on layer on a serving plate and spread a thin layer of frosting over the top. Place the second layer on top and frost the top and sides of the cake. Refrigerate until serving.