Preheat oven to 350F. Grease and flour three 6" cake rounds, line with parchment.
In a medium bowl, combine flour, baking powder, baking soda, spices, and salt. Set aside.
In the bowl of a stand mixer combine vegetable oil and sugars. Beat until well combined (2 mins). Add eggs one at a time, fully incorporating after each addition. Add vanilla.
Add flour mixture in 3 parts. Fold in carrots.
Spread batter evenly into prepared pans and bake for 55mins or until a toothpick inserted into the center comes out clean.
Place cakes on wire rack to cool for 10mins then turn out onto wire rack to cool completely.
Cream Cheese Frosting:
Beat butter and cream cheese until pale and fluffy (2 mins). Add powdered sugar one cup at a time. Add vanilla and beat until fluffy (3 mins).
Place one layer of cake on a cake stand or serving plate. Top with approximately 2/3 cup of buttercream and spread evenly. Repeat with remaining layers. Frost and smooth the outside with a thin crumb coat.
Decorate the top with a swirl and some edible flowers if desired.