Preheat the oven to 350°F. Line a muffin tin with paper liners.
Whisk together 1 1/2 cups flour, 1 1/2 teaspoons baking powder and 1/2 teaspoon salt in a small bowl. Set aside.
In a large bowl mix together 1/4 cup butter, 1/3 cup oil and 3/4 cup sugar. Scrape the sides of your bowl, and then add 2 eggs along with 1 teaspoon vanilla and 1/2 teaspoon coconut extract.
Alternate between adding the flour mixture and coconut milk. Scrape the side of the bowl, and give it one last good mix. Divide the batter between you liners, each should be 3/4 full.
Bake for 15-20 minutes. The cupcakes are done when they spring back when touched, or a toothpick inserted into the center comes out clean. Place your cupcakes on a cooling rack to cool completely.
Frosting
Start by creaming together 1/2 cup butter and 3 ounces cream cheese. Add 2 1/2 cups powdered sugar, 1 Tablespoon coconut milk, 1/2 teaspoon vanilla and 1/2 teaspoon coconut extract. Whip until your desired consistency has formed.
Pipe the frosting onto the cooled cupcakes. Sprinkle coconut on top if desired.
Notes
Butter: Make sure to leave the butter out an hour before making or follow these tips on how to soften butter.Coconut: I prefer using sweetened coconut flakes. You can use unsweetened if preferred. Toasted coconut would also be delicious on top.Make ahead: These cupcakes can be made 24 hours in advance and stored in an air tight container until ready to frost.