Preheat your oven to 350°F (175°C). Grease and flour a 9-inch round cake pan (or two 8-inch pans for a layered cake).
In a medium bowl, whisk together the flour, baking powder, and salt. Set aside.
In a large mixing bowl, beat the butter and sugar together using an electric mixer on medium speed until light and fluffy, about 3-5 minutes.
Add the eggs one at a time, beating well after each addition. Stir in the vanilla extract.
With the mixer on low speed, add the dry ingredients in three parts, alternating with the milk. Start and end with the dry ingredients. Mix until just combined. Be careful not to overmix.
Pour the batter into the prepared cake pan(s) and smooth the top with a spatula. Bake for 30-35 minutes, or until a toothpick inserted into the center comes out clean. If you’re using two pans, check each cake at 25-30 minutes.
Remove the cake from the oven and allow it to cool in the pan for 10 minutes. Then, turn the cake out onto a wire rack to cool completely.
In a medium saucepan, combine the buttermilk, butter, sugar, and vanilla extract.
Heat the mixture over medium heat, stirring constantly until the butter melts and the sugar dissolves. Bring to a simmer, but do not allow it to boil.
Add the baking soda to the sauce, and continue to simmer for 1-2 minutes. The sauce will bubble up slightly as the baking soda reacts with the buttermilk.
Remove the sauce from the heat and set aside. It will thicken slightly as it cools.
Once the cake has cooled completely, slice it into pieces. Serve the cake with a generous drizzle of the warm buttermilk sauce.
