Preheat the oven to 350°F. Spray three 8” round cake pans with non-stick baking spray and line the bottoms with parchment paper.
In a large mixing bowl, beat butter and sugar until light and creamy. Add one egg at a time, beating well after each addition.
Add vanilla extract, coconut extract, and cream of coconut and beat well.
In a separate bowl, mix together the flour, baking powder, and salt.
Rotate between adding the coconut milk and the flour mixture to the cake batter, mixing only enough to combine the ingredients.
Fold 1 cup of shredded coconut into the batter.
Divide the batter between the three prepared cake pans.
Bake for 20 minutes, until a toothpick inserted into the center comes out with just a few crumbs.
Cool cakes on a cooling rack for 10-15 minutes, then turn out from the pans and cool the rest of the way.
To Make the Frosting
Cream together the butter and cream cheese until smooth and fluffy.
Add powdered sugar, one cup at a time, and beat to combine.
Add in vanilla extract and heavy cream, 1 tablespoon at a time, until the frosting is fluffy and spreadable.
Assemble the cake by spreading about 1⁄2 cup of frosting on top of each cake layer. Top with the next layer, etc.
Spread the remaining frosting to cover the top and sides of the cake. Sprinkle coconut over the top of the cake. Pat handfuls of coconut onto the sides of the cake to cover the cake completely.
Notes
Toasted coconut can be used on top of and/or within the cake. To toast coconut, spread it in a single layer on a baking sheet and bake for 3-5 minutes in a 350°F oven until golden brown. Remove from hot baking sheet immediately. Flaked or shredded coconut, sweetened or unsweetened, can be used.
Whole milk or 2% milk can be substituted for the unsweetened coconut milk in the recipe. As long as you are using coconut extract and the cream of coconut, I don’t think you will miss any coconut flavor.
You can prepare your coconut cake a day ahead of time and store it in a cake stand fitted with a lid or a portable cake carrier. Because this cake has cream cheese frosting, it will need to be refrigerated.
Store the cake covered with a lid or in a cake stand or carrier in the refrigerator for up to 5 days.