Preheat oven to 350°F (175°C). Grease and flour two 9-inch round cake pans.
In a large bowl, whisk together the flour, sugar, baking powder, and salt.
Add the softened butter to the dry ingredients and mix until the mixture resembles coarse crumbs.
In a separate bowl, whisk together the eggs, buttermilk, key lime juice, and key lime zest.
Gradually add the wet ingredients to the dry ingredients, mixing until just combined. Do not overmix.
Divide the batter evenly between the prepared cake pans.
Bake for 30-35 minutes, or until a wooden skewer inserted into the center comes out clean.
Let the cakes cool in the pans for 10 minutes before inverting them onto a wire rack to cool completely.
While the cakes are cooling, prepare the frosting. In a large bowl, beat the softened butter until creamy.
Gradually add the sifted powdered sugar, alternating with the key lime juice and key lime extract (if using), beating until smooth and creamy. Add milk, one tablespoon at a time, if needed to reach desired consistency.
Once the cakes are completely cool, frost them using an offset spatula.
Notes
Garnish with fresh lime slices or candied lime peel for an extra touch of elegance.