Preheat oven to 350ºF. Line a 9×5-inch loaf pan with enough parchment paper to overhang the long edges of the pan.
In a medium size mixing bowl, whisk flour, baking powder, baking soda and cinnamon together. Set aside.
Using a stand mixer or bowl and electric hand mixer, beat oil, sugar, and eggs together until light and creamy. Add grated carrots and walnuts and fold to combine.
Add the dry ingredients to the wet ingredients. Using a silicone spatula, fold the mixture until no streaks of flour are visible. Do not over mix.
Pour batter into the prepared loaf pan. Bake in a preheated oven for 45 minutes or until a toothpick test comes out clean.
Place the loaf pan on a wire rack to cool for approximately 45 minutes. Remove the carrot loaf from pan by using the parchment paper overhang as handles.
Place loaf on a plate and allow it to cool completely. This may take up to 90 minutes. Once fully cooled, ice the carrot loaf with cream cheese frosting.
To make the cream cheese frosting, add the softened cream cheese and butter to a stand mixer or bowl, if using an electric hand mixer. Beat on medium low speed until the mixture is light and creamy.
Add the confectioners’ sugar and mix on low speed until fully combined. Add the vanilla extract. Increase speed to medium and continue beating until mixture is light and fluffy.
Add a generous layer of cream cheese frosting to the fully cooled loaf, generously slathering it all over the top. You can add frosting to the sides, if you'd like. Slice and serve. Enjoy!