Preheat your oven to 350°F. While it heats, finely grate your carrots and measure all ingredients. I always grate carrots fresh rather than using pre-shredded, as they release less moisture and give you a smoother, more tender cake crumb. Chop the 1/2 cup nuts for the cake into small pieces, then separately toast and chop the 1/4 cup nuts for the frosting garnish and set aside. Having everything measured and ready ensures smooth mixing without delays.
In a large bowl, whisk together the flour, baking powder, baking soda, salt, cinnamon, and nutmeg. Whisking instead of simply stirring helps distribute the leavening agents and spices evenly throughout the flour, which ensures consistent rise and flavor in every slice of the cake.
In a second bowl, beat the room-temperature eggs and sugar together for 2-3 minutes until the mixture becomes pale and slightly fluffy—this incorporates air that helps the cake rise. Add the vegetable oil and 2 tsp vanilla extract and mix until fully combined. The oil creates a moist, tender crumb, while beating the eggs and sugar first creates structure.
Gently fold the dry ingredient mixture from Step 2 into the wet mixture from Step 3 using a spatula, stirring just until combined—do not overmix, as this can toughen the cake. Once partially combined, fold in the grated carrots and chopped nuts from Step 1. The gentle folding technique keeps the cake tender and prevents overworking the gluten in the flour.
Divide the batter from Step 4 evenly between two 8-inch round cake pans that have been greased and floured (or lined with parchment paper). Smooth the tops with a spatula and bake at 350°F for 30-35 minutes, until a toothpick inserted in the center comes out with just a few moist crumbs. Remove from the oven and let the cakes cool in their pans for 10 minutes, then turn out onto wire racks to cool completely—this prevents the delicate cake from breaking while it's still warm.
Once the cakes have cooled completely, make the frosting. Beat the softened cream cheese and softened butter together until smooth and creamy, about 1-2 minutes. I prefer Philadelphia cream cheese because it has the best stability and creates a frosting that holds up beautifully on a layered cake. Gradually add the sifted powdered sugar to prevent lumps, then add the 1 1/2 tsp vanilla extract and orange zest, beating until light and fluffy, about 2-3 minutes total.
Place the first cooled cake layer from Step 5 on your serving plate and spread a portion of the cream cheese frosting from Step 6 evenly over the top. Set the second cake layer on top and frost the top and sides of the entire cake with the remaining frosting, using an offset spatula for a smooth finish. Crown the top with the toasted chopped nuts from Step 1 for decoration and texture. Refrigerate for at least 1 hour before serving to allow the frosting to set and flavors to meld.