Preheat your oven to 350°F. Grease two 9-inch cake pans and line them with parchment paper.
Whisk together the flour, baking powder, baking soda, cinnamon, ginger, nutmeg, and salt in a medium bowl.
In a large bowl, beat the eggs and sugar with an electric mixer until pale and thick, about 3 minutes.
Add the oil and vanilla extract to the egg mixture and beat until well combined.
Fold in the grated carrots using a spatula.
Gradually add the dry ingredients to the wet ingredients, mixing until everything is combined.
Divide the batter evenly between the prepared cake pans and smooth the tops with a spatula.
Bake the cakes for 25-30 minutes or until a toothpick inserted into the center comes clean.
Let the cakes cool in the pans for 10 minutes, then remove them from them and cool completely on wire racks.
To make the cream cheese frosting, beat the cream cheese and butter together in a large bowl with an electric mixer until smooth and creamy.
Gradually add the powdered sugar, one cup at a time, beating well after each addition.
Add the vanilla extract and beat until the frosting is light and fluffy.
Once the cakes have cooled completely, spread a generous layer of frosting over one cake layer. Top with the second cake layer and spread more frosting on top and around the sides of the cake.
Chill the cake in the refrigerator for 30 minutes to set the frosting.
Slice and serve the cake, and enjoy!