Preheat oven to 350°F. Grease three 9-inch round cake pans, line the bottoms with parchment paper, then grease the parchment. Set aside.
In a medium bowl, whisk together 3 cups all-purpose flour, 1 tbsp baking powder, and 1/2 tsp salt. Set aside.
3 cups all-purpose flour, 1 tbsp baking powder, 1/2 tsp salt
In a stand mixer fitted with the paddle attachment, beat 1 cup unsalted butterand 2 cups granulated sugar on medium-high speed for 4–5 minutes until pale, light, and very fluffy. This step is the foundation of a tender crumb, do not rush it.
1 cup unsalted butter, 2 cups granulated sugar
Add 4 eggs and 2 egg whites one at a time, beating well after each addition. Scrape down the sides of the bowl. Add 2 tsp coconut extract and 1 tsp vanilla extract and mix to combine. The batter may look slightly curdled, that's fine, it will come together.
4 eggs, 2 egg whites, 2 tsp coconut extract, 1 tsp vanilla extract
In a small bowl, whisk together 1 cup full-fat coconut milk and 1/2 cup sour cream. With the mixer on low, add the flour mixture in three additions, alternating with the coconut milk mixture (beginning and ending with flour). Mix until just combined after each addition, do not overmix.
1 cup full-fat coconut milk, 1/2 cup sour cream
Divide the batter evenly between the three prepared pans. Bake for 30–35 minutes until a toothpick inserted in the center comes out clean and the tops are lightly golden. Cool in the pans for 15 minutes, then turn out onto wire racks to cool completely before frosting.
Beat 16 oz cream cheese and 1/2 cup unsalted butter together on medium-high speed until smooth and fluffy, about 3 minutes. Add 5 cups powdered sugar, sifted one cup at a time, beating on low until incorporated, then increase to medium-high. Add 1 tsp coconut extract and 3 tbsp heavy cream and beat until the frosting is light, creamy, and spreadable. Add more cream a teaspoon at a time if needed.
16 oz cream cheese, 1/2 cup unsalted butter, 1 tsp coconut extract, 3 tbsp heavy cream, 5 cups powdered sugar
Place one cake layer on a serving plate or cake stand. Spread a generous layer of frosting over the top. Repeat with the second layer and more frosting. Place the third layer on top and frost the top and sides of the entire cake. Use an offset spatula to smooth the frosting.
Press the 2 cups sweetened shredded coconut onto the sides and top of the cake, covering the frosting completely. Refrigerate for at least 30 minutes before slicing to let the layers set. Bring to room temperature for 30 minutes before serving.
2 cups sweetened shredded coconut