Preheat oven to 350°F (175°C). Grease and flour two 9-inch round cake pans.
In a large bowl, whisk together flour, baking powder, baking soda, and salt.
In a separate bowl, cream together butter and sugar until light and fluffy. Beat in eggs one at a time, then stir in vanilla.
Gradually add the dry ingredients to the wet ingredients, alternating with the buttermilk, beginning and ending with the dry ingredients. Mix until just combined.
Pour batter into prepared pans and bake for 30-35 minutes, or until a toothpick inserted into the center comes out clean. Let cool in pans for 10 minutes before inverting onto a wire rack to cool completely.
Strawberry Filling
In a saucepan, combine strawberries, sugar, cornstarch, and water. Cook over medium heat, stirring constantly, until the mixture thickens and the strawberries soften. Remove from heat and let cool.
Frosting
In a large bowl, beat butter until smooth. Gradually add powdered sugar, beating until combined. Stir in heavy cream and vanilla extract until frosting is smooth and creamy.
Assembly
Place one cake layer on a serving plate. Spread with a layer of strawberry filling, then top with a layer of frosting. Repeat with the second cake layer. Frost the top and sides of the cake with the remaining frosting. Garnish with fresh strawberries, if desired.