Preheat oven to 350°F (177ºC).
Add the flour, baking powder, baking soda, salt, spices and chopped walnuts to a medium mixing bowl and mix together well with a whisk. Set aside.
In the bowl of a stand mixer (or a large bowl with a hand mixer) add the oil and sugars and beat well with the wire whip.
Add the eggs and vanilla next and beat again.
Add the grated carrots and mix together until combined.
Add the flour mixture, 1/2 a cup at a time while mixing. Do this until all the flour mixture has been added and the batter is now just combined (don’t overmix).
Line a cupcake pan with liners and spoon the cake batter into the cupcake liners, fill about ¾ of the way.
Bake in the preheated oven for about 18-20 minutes - just until a toothpick comes out clean, or when tops spring back lightly and internal temp is about 205–210°F (96-99ºC).
While the cupcakes are baking you can start creating your little carrots with the fondant, shaping just like you would playing with play-doh.
Remove from cupcakes from the oven and place on a rack to cool completely.
Add the cream cheese, butter, salt and vanilla to the bowl of your stand mixer and mix well until creamy and smooth.
Add the sifted powdered sugar, 1 cup at a time, until it is all added. You want a thick cream cheese frosting (but not so thick you can’t pipe it).
Add the cream cheese frosting to a piping bag with a size 1M tip, pipe the frosting on top of each cupcake and place a little fondant carrot on the top of each.