Preheat the oven to 350°F (177°C). Line 2 12-cup muffin pans with cupcake liners. Set aside.
In a medium mixing bowl, combine the flour, baking powder and salt. Set aside.
In a large mixing bowl, using a handheld or stand mixer fitted with a paddle attachment, beat the butter, oil and sugar, on high speed until smooth and creamy – about 1 minute. Scrape down the sides and bottom of the bowl with a rubber spatula as needed.
With the mixer on low speed, add the eggs, one at a time, beating well after each addition.
Add vanilla and mix to combine. Scrape down the sides and bottom of the bowl as needed.
With the mixer on low speed, add the dry ingredients in 2 batches, alternating with the whole milk. Beat on low speed until each batch is just incorporated. Do not overmix. Scrape down the sides and up the bottom of the bowl as needed.
Divide the batter evenly among the cupcake liners – fill only ¾ full to avoid spilling.
Bake for 20-22 minutes, or until a toothpick inserted in the center comes out clean. Allow the cupcakes to cool completely.