Preheat your oven to 350°F (175°C). Grease three 8-inch round cake pans and line the bottoms with parchment paper circles. Set aside.
In a large bowl, whisk together the flour, baking powder, baking soda, salt, cinnamon, and nutmeg until no lumps remain. This ensures even spice distribution.
In a separate large bowl, whisk the oil and granulated sugar together until well combined. Add the eggs one at a time, whisking after each addition until the mixture looks thick and glossy. Stir in the vanilla extract.
Pour the wet ingredients into the dry ingredients and fold gently with a rubber spatula just until no flour streaks remain. Do not overmix or the cake will be tough.
Fold in the grated carrots and toasted walnuts until evenly distributed throughout the batter. The batter will be thick but pourable.
Divide the batter evenly among the three prepared pans, smoothing the tops with an offset spatula. Bake for 28-32 minutes, until a toothpick inserted in the center comes out with just a few moist crumbs.
Let the cakes cool in the pans for 15 minutes, then turn them out onto a wire rack. Peel off the parchment and let them cool completely before frosting, at least 1 hour.
For the frosting, beat the softened cream cheese and butter together in a large bowl with an electric mixer on medium speed until smooth and fluffy, about 2 minutes. No lumps should remain.
Reduce the speed to low and gradually add the powdered sugar, one cup at a time, beating until fully incorporated. Add the vanilla extract and beat on medium-high speed for 1 minute until light and creamy.
Place one cake layer on your serving plate. Spread 3/4 cup of frosting evenly on top. Add the second layer, another 3/4 cup of frosting, then the final layer. Use the remaining frosting to cover the top and sides. Refrigerate for 30 minutes before slicing for the cleanest cuts.