Preheat oven to 350°F (175°C) and position the rack in the center of the oven.
Grease and flour two 8-inch round cake pans or line them with parchment paper.
Measure flour using the spoon-and-level method for accurate texture.
Whisk together flour, baking powder, baking soda, and salt in a medium bowl.
Allow butter and eggs to reach room temperature before mixing.
Beat softened butter in a large bowl for 2–3 minutes until pale and fluffy.
Add sugar gradually in four additions, beating between each addition until fluffy.
Add eggs one at a time, beating after each addition until incorporated.
Add vanilla extract and mix briefly until fragrant.
Mix in half of the flour mixture on low speed until mostly combined.
Add all the buttermilk and mix gently until combined.
Add the remaining flour mixture and mix until just combined without overmixing.
Divide batter evenly between prepared cake pans and smooth the tops.
Bake for 32–35 minutes until a toothpick inserted in the center comes out with a few moist crumbs.
Cool cakes in pans for 15 minutes, then transfer to a wire rack to cool completely.
Beat butter for frosting on medium-high speed for 3–4 minutes until fluffy.
Add half the powdered sugar and mix slowly until combined.
Add 2 tablespoons cream and mix until smooth.
Add remaining powdered sugar and beat until light and fluffy.
Add additional cream as needed until frosting reaches a spreadable consistency.
Mix in vanilla extract for the frosting.
Place the first cake layer on a serving plate and secure with a small amount of frosting underneath.
Spread frosting evenly over the first layer.
Place the second cake layer on top and level if needed.
Apply a crumb coat, chill briefly, then frost the top and sides smoothly.
Decorate with fresh fruit, flowers, piping, or anniversary toppers before serving.