Preheat oven to 325°F. Grease and flour 3 - 6 inch cake pans.
Sift the flours, sugar, baking powder, baking soda, and salt into the bowl of a stand mixer.
With mixer on low speed add butter, 2 T at a time. Mix until it resembles coarse sand, about 1 minute.
In a large liquid measuring cup combine the eggs, milk, veg oil, and vanilla. Whisk to combine.
With the mixer on low, pour the liquid ingredients into the stand mixer. Mix on medium speed for 1 1/2 to 2 minutes. Scrape the sides of the bowl and add the sour cream. Mix on medium speed for 20-30 more seconds. Gently run a butter knife through the batter to break up any large air bubbles.
Pour into cake pans. Bake for 28-34 mins or until done and toothpick inserted in center comes out with a few moist crumbs but no batter.
Cool cake in pans for 5-10 mins, remove from pans and cool on wire racks completely.
Cover cakes with double layer of plastic wrap, store In fridge If you want to frost them the following day. Or, let cool completely before frosting.
Cream butter and cream cheese in stand mixer with paddle attachment. Add powdered sugar 1 cup at a time. Add vanilla and cream. Mix on medium speed for 4 minutes. If the frosting is too thick add more heavy cream, if the frosting is too thin add more powdered sugar.
*this cake was baked at sea level. You may have to make slight adjustments if baking at a high altitude (You may want to reduce baking powder to only 1 teaspoon) and your cake might bake more quickly. Just a few things to keep in mind. Tip: make sure cake is cooled completely before frosting. Have the frosting and cake the same temp, otherwise you’ll pull crumbs as you’re frosting.
You can line the bottom of the pan with parchment. Simply grease the pan first, line with circle parchment paper, then grease the parchment paper and flour the bottom and sides. (this is if you struggle with getting your cakes out the pans. Which you shouldn’t if you grease and flour).