Preheat and Prepare: Preheat oven to 350°F (177°C). Grease two 9-inch round cake pans and line bottoms with parchment paper.
Mix Dry Ingredients: In a medium bowl, combine 2 ½ cups cake flour, 1 tablespoon baking powder, ½ teaspoon baking soda, and ½ teaspoon salt by sifting them together. Set aside.
Cream Butter and Sugar: In a large bowl, blend 1 cup softened butter with 2 cups granulated sugar using a stand mixer or hand mixer until smooth. Beat on medium speed for 2–3 minutes until light and fluffy.
Add Eggs and Vanilla: Add 4 large eggs one at a time, mixing well after each. Mix in 1 tablespoon vanilla extract. Batter may appear slightly lumpy, but this is expected.
Combine Wet and Dry Ingredients: Slowly incorporate dry ingredients and 1 cup milk into the butter mixture, starting with one-third of the dry ingredients, then half the milk. Continue alternating, ending with dry ingredients. Blend just until combined.
Bake the Cake: Divide batter evenly between prepared pans. Smooth tops with a spatula. Bake for 25–30 minutes, until a toothpick inserted in the center comes out without crumbs. Check at 20 minutes to avoid overbaking.
Cool and Remove: Cool cakes in pans for 10 minutes, then transfer to a wire rack to cool fully.
Make Frosting: Beat ½ cup softened butter until creamy, about 1 minute. Gradually add 4 cups powdered sugar, mixing on low. Add ¼ cup heavy cream, 2 teaspoons vanilla extract, and a pinch of salt. Mix on high for 2 minutes until light and creamy.
Assemble Cake: Place one cake layer on a plate, spread with frosting, then top with the second layer. Frost top and sides for a polished look.