Preheat oven to 350°F. Spray 3 8-inch or two 9-inch round cake pans with nonstick baking spray or butter and flour. Set aside.
To Make Cake Layers: In a medium size mixing bowl, use a whisk to sift together the flour, baking powder and salt. Set aside
Using an electric mixer on medium speed to cream together the butter, shortening, vanilla, brown sugar and granulated sugar in a large mixing bowl. Beat for 2 minutes or until creamy and light beige in color.
Add the eggs one at a time beating well after each addition, stopping to scrape the sides of the bowl periodically.
Lower the speed of the mixer and add sifted dry ingredients to the creamed butter mixture alternately with the buttermilk, beginning and ending with flour.
After all has been added increase the speed of the mixer to medium and beat just until fully combined around 45-60 seconds. Pour batter evenly between prepared pans.
Bake cake layers for 25-30 minutes or until the tops bounce back when gently touched. (Alternately, test with a toothpick or wooden pick inserted into the center that comes back clean.) Cool completely in the pans on a wire rack before frosting.
Homemade Caramel Icing: In a heavy bottomed saucepan over medium heat melt together butter, evaporated milk and brown sugar. Bring to a boil then lower the heat and simmer for 2 minutes, stirring constantly until sugar is completely melted.
Remove from heat, add vanilla extract, mix well. Set aside to cool to lukewarm.
Once lukewarm, use an electric mixer on medium-low to gradually beat in powdered sugar one cup at a time. Whip in 5-6 cups until fully combined. You can add whole milk or half and half as needed to make it smooth and spreadable.
Spread frosting evenly between layers and on sides of cake. Chill for at least 4 hours to set. Cut into slices and enjoy!
Store in an airtight container chilled for up to one week.