Prep pans: Preheat oven to 350°F (180°C). Grease two 9-inch (23cm) round cake pans and line the bottoms with parchment paper. Set aside.
Mix dry: In a large bowl, stir together flour, baking powder, baking soda, cinnamon, nutmeg, and salt.
Mix wet: In another bowl, whisk oil, granulated sugar, brown sugar, eggs, and vanilla for 2–3 minutes until well combined and slightly lighter.
Combine: Add the dry ingredients in 3 additions, stirring gently each time just until the flour disappears (don’t overmix). Fold in grated carrots and nuts until evenly distributed.
Bake: Divide batter evenly between pans. Bake 30–35 minutes, until a toothpick comes out clean or with a few moist crumbs.
Make the frosting: Beat softened butter and sifted powdered sugar until smooth. Add cream cheese and mix briefly just until smooth (avoid overmixing). Add vanilla and cold heavy cream, then whip 1–2 minutes until fluffy and spreadable.
Assemble: If needed, level the tops of the cakes. Place the first layer on a serving plate/cake stand. Spread a generous layer of frosting on top.
Add the second layer upside down (flat side up) for a cleaner, sharper top. Frost the top and sides. Decorate with pecans.
Chill: Refrigerate 3–4 hours (overnight is best) before slicing.
Video
Notes
For the moistest cake: Don’t overmix after adding flour. Mix only until the flour disappears, then fold in carrots/nuts.
Carrots: Finely grated carrots melt into the crumb and keep it tender. Avoid big shreds.
If the frosting is too runny: This usually means the cream cheese or butter was too warm, or the frosting was slightly overmixed. Refrigerate the frosting for 1–2 hours to help it firm up, then give it a quick stir or short re-whip before frosting the cake.
Make ahead:
Cake layers can be baked, cooled, wrapped well, and refrigerated 2 days or frozen up to 2 months.
Frosting can be made 1–2 days ahead and refrigerated. Let it soften slightly, then re-whip briefly before using.
Storage: Store the frosted cake covered in the fridge for up to 4–5 days. Let slices sit at room temp 15–20 minutes for best texture.