Preheat the oven at 350ºF. Line an 8.5x4.5-inch loaf pan or 9x5-inch loaf pan with parchment paper leaving a 2-inch overhang at each end and secure them down with metal binder clips.
Grate the carrots on the fine side of a box grater and measure it out. Set it aside.
Make the loaf cake batter. Combine eggs, both sugars, oil, sour cream and vanilla in a large bowl and whisk to blend until smooth. Add grated carrots and stir them in evenly.
Sift flour, baking powder, baking soda and spices into another medium bowl and whisk to blend them together evenly. Add the dry ingredients to the bowl with the wet ingredients and fold them in gently until evenly combined.
Scrape batter into the prepared loaf pan and smooth out the top. Use a butter knife to draw a line through the center of the batter down the length of the pan.
Bake for 45-50 minutes until evenly browned on top and a skewer inserted into the center comes out clean. Transfer pan to a wire rack and let it cool for 20 minutes. Then, gently remove the loaf from the pan using the overhanging parchment and let it cool down completely.
Make the cream cheese frosting. Combine soft butter and powdered sugar in a medium bowl and whip using an electric hand mixer on medium high speed for 1-2 minutes until smooth and creamy. Mix in cream cheese until very fluffy and pale. Mix in vanilla and milk. Spread the frosting evenly over the cooled loaf.
