Preheat oven to 350°F. Grease and flour two 9-inch round cake pans.
In a large bowl, whisk together flour, sugar, baking powder, baking soda, and salt.
In another bowl, mix vegetable oil, eggs, key lime zest, key lime juice, and buttermilk until well combined.
Gradually add the wet ingredients to the dry ingredients, stirring until just combined.
Divide the batter evenly between the prepared pans.
Bake for 25-30 minutes, or until a toothpick inserted into the center comes out clean.
Allow cakes to cool in pans for 10 minutes, then turn out onto wire racks to cool completely.
For the frosting: Beat butter and cream cheese until smooth. Gradually add powdered sugar and vanilla, beating until creamy.
Frost the cooled cake layers, and if desired, garnish with additional key lime zest.