Preheat oven to 350F (175C) and line a 12-count muffin tin with paper liners. Set aside.
Place butter in a large bowl (or in the bowl of a stand mixer) and use an electric mixer (or stand mixer) to beat until creamy.
Scrape down the sides of the bowl and add oil, sugar, and lemon zest and beat again until creamy and thoroughly combined.
Add eggs and vanilla extract and stir well until completely combined.
In a separate, medium-sized bowl, whisk together flour, baking powder, and salt.
In a large measuring cup, briefly stir together buttermilk and lemon juice.
Using a spoon or spatula, gradually stir about a third of the flour mixture into wet ingredients until just-combined (don’t use an electric mixer here or you’ll be more likely to overmix the batter, resulting in dense/dry cupcakes). Add about half of the buttermilk mixture into the batter and stir until just combined. Repeat adding flour and buttermilk in this way until ingredients are completely combined, but don’t mix more than you need to. Be sure to scrape the sides and bottom of the bowl so all ingredients are combined.
Evenly divide batter into prepared cupcake tin, filling each liner ⅔ of the way full. Transfer to 350F/175C oven and bake for 17-18 minutes or until the tops spring back when lightly touched and a toothpick inserted in the center comes out clean or with a few moist crumbs. Allow to cool completely before topping with lemon cream cheese frosting.
Combine butter and cream cheese in a large bowl and use an electric mixer (or stand mixer) to beat until well-combined.
Add lemon zest, vanilla extract, lemon extract (if using), salt, and lemon juice and beat well.
Gradually, with mixer on low speed, add powdered sugar until completely combined. Scrape sides and bottom of bowl to make sure ingredients are well incorporated.
Once cupcakes have cooled, spread or pipe lemon cream cheese frosting over cupcakes. Enjoy!