Preheat your oven to 350°F. Grease three 8-inch cake pans and set aside.
In a medium bowl, whisk together the flour, baking powder, and salt.
In a large mixing bowl, add the butter, sugar, vegetable oil, and vanilla extract. Beat together until the mixture becomes light and fluffy, about 2–3 minutes.
Add the eggs one at a time, mixing well after each addition. Scrape down the sides of the bowl as needed.
Slowly add the flour mixture to the batter, mixing after each addition until fully combined.
With the mixer on low speed, slowly pour in the whole milk and continue mixing until the batter is smooth and fully combined. If the batter appears slightly curdled, that is completely normal.
Evenly divide the batter between the three prepared cake pans. Bake for 25-27 minutes.
Remove the cakes from the oven and let them cool in the pans for 5 minutes. Carefully transfer the cakes to a wire rack and allow them to cool completely, about 1 hour. If desired, wrap each cooled cake layer tightly in plastic wrap and freeze for at least 2 hours before frosting. This simple step helps lock in moisture and makes the cake easier to frost.