Preheat oven to 350 degrees F and grease and flour a 9x13-inch pan.
In a small saucepan combine butter, coca cola, and oil. Bring to a boil.
Meanwhile combine flour, sugar, cocoa powder, baking powder, and salt in the bowl of a stand mixer.
Pour Coca Cola mixture into the flour mixture and beat on medium speed for about 1 minute until combined.
Add eggs, buttermilk, and vanilla extract. Beat until combined, about 1 minute.
Spread batter into the prepared pan and bake for 30 minutes or until a toothpick inserted in the center comes out with only a few moist crumbs attached.
Make the frosting immediately after removing the cake from the oven. Combine butter, cocoa powder and milk in a saucepan and heat up until just boiling. Remove from heat and add powdered sugar and vanilla extract. Whisk until smooth then spread over warm cake quickly. Let cake cool to room temperature.