Preheat your oven to 350°F (175°C). Grease your cake pans with butter and dust them with flour to prevent sticking.
In a large mixing bowl, whisk together the all-purpose flour, granulated sugar, baking soda, baking powder, ground cinnamon, ground nutmeg, and salt until well combined.
In another bowl, beat the eggs, then add the vegetable oil, vanilla extract, almond extract, and orange flavoring. Mix until thoroughly combined.
Gradually add the wet mixture to the dry ingredients, stirring gently until just combined. Avoid over-mixing, as this can lead to a dense cake.
Gently fold in the grated carrots and chopped pecans (if using). This step adds moisture and texture to your cake.
Divide the batter evenly between the prepared cake pans. Bake in your preheated oven for 25-30 minutes or until a toothpick inserted into the center comes out clean. Allow the cakes to cool in the pans for about 10 minutes before transferring them to a wire rack to cool completely.
While the cakes are cooling, prepare your icing. In a large bowl, beat the room temperature cream cheese and whole butter until creamy. Gradually add the powdered sugar, sour cream, vanilla extract, and almond extract. Mix until smooth and fluffy. If the icing is too thick, add a splash of milk to reach your desired consistency.
Once the cakes are completely cool, place one layer on a serving platter. Spread a generous amount of cream cheese icing over the top. Place the second layer on top and frost the top and sides of the cake with the remaining icing. Decorate with additional chopped pecans if desired.
Slice your Southern Carrot Cake with Cream Cheese Icing and serve it up! This cake is perfect for any occasion or simply as a treat for yourself.