Preheat your oven to 350°F and grease three 8-inch round cake pans with butter or cooking spray. In a medium bowl, whisk together the flour, baking powder, and shredded unsweetened coconut until well combined and any lumps are broken up. Set this dry mixture aside—this is your mise en place for the batter.
In a stand mixer or with an electric mixer, beat the room-temperature butter on medium speed for about 2-3 minutes until it's pale and fluffy. Gradually add the sugar while continuing to beat, scraping down the bowl as needed. This creaming process incorporates air into the batter, which helps your cake rise and achieve a tender crumb. Beat for another 2-3 minutes until the mixture is light and airy.
Add the eggs one at a time to the creamed butter and sugar mixture, beating well after each addition to fully incorporate. Once all eggs are added, mix in the coconut essence and vanilla extract. The batter should look smooth and well-combined. I like to use real vanilla and coconut essences rather than imitation extracts—they make a noticeable difference in the final flavor.
Reduce mixer speed to low and add the dry ingredient mixture from Step 1 and buttermilk in alternating batches, starting and ending with the dry mixture. The pattern is: dry, wet, dry, wet, dry. Mix just until combined after each addition—overmixing develops gluten and can result in a tough cake. Divide the batter evenly among the three prepared pans and smooth the tops with a spatula.
Bake the three pans in a preheated 350°F oven for 28-30 minutes, until a toothpick inserted in the center comes out clean or with just a few moist crumbs. The tops should be light golden brown. Remove from the oven and let the cakes cool in their pans for about 10 minutes, then turn them out onto wire racks to cool completely. This cooling time prevents the frosting from melting when applied.
In a clean stand mixer bowl, beat the unsalted butter on medium speed for 2-3 minutes until creamy and pale. I use Kerrygold for this frosting because it creates a richer, more flavorful result than standard butter. Sift the confectioners sugar to remove lumps, then gradually add it to the butter along with the milk, beating on medium speed. Once combined, add the coconut essence, vanilla essence, and cream of coconut. Increase the mixer speed to high and beat for 3 minutes until the frosting is light, fluffy, and spreadable. The prolonged beating incorporates air and creates a silky texture.
Place the first cooled cake layer on a serving plate or cake board and spread a generous layer of frosting from Step 6 over the top. Add the second cake layer and repeat. Top with the third layer and frost the top and sides of the entire cake with the remaining frosting. Work quickly but smoothly, using an offset spatula for an even finish. Press the shredded coconut onto the top and sides of the frosted cake, covering as much surface as possible for a beautiful presentation.