Preheat the oven to 350°F (175°C). Grease and flour two 9-inch round cake pans, or line the bottoms with parchment rounds and lightly spray with baking spray. You can also use three 8-inch pans or a 9×13-inch pan, adjusting baking time as needed.
In a medium bowl, whisk together the cake flour, baking powder, baking soda, and fine sea salt until well combined.
2 3/4 cups cake flour, 2 1/2 teaspoons baking powder, 1/2 teaspoon baking soda, 1/2 teaspoon fine sea salt
In a large mixing bowl or stand mixer, beat the softened butter on medium speed for about 1 minute until creamy. Add the granulated sugar and beat for 3–4 minutes, until light, fluffy, and paler in color.
1 cup unsalted butter, 2 cups granulated sugar
Add the eggs one at a time, mixing on low after each addition just until incorporated. Mix in the vanilla extract and coconut extract, scraping down the sides and bottom of the bowl as needed.
4 large eggs, 1 teaspoon pure vanilla extract, 1 1/2 teaspoons coconut extract
In a measuring cup, whisk together the canned full-fat coconut milk and buttermilk until smooth. If the coconut milk has separated in the can, stir or shake well before measuring.
1 cup canned full-fat coconut milk, 1/2 cup buttermilk
With the mixer on low speed, add about one-third of the flour mixture to the butter mixture, followed by half of the coconut milk mixture. Add another third of the flour, the remaining coconut milk mixture, then the final third of the flour. Mix just until combined after each addition to avoid overmixing.
Gently fold in 1 1/2 cups sweetened shredded coconut with a spatula until evenly distributed. The batter should be thick and smooth, with visible flecks of coconut.
1 1/2 cups sweetened shredded coconut
Divide the batter evenly between the prepared pans and smooth the tops. Bake for 24–30 minutes, or until a toothpick inserted in the center comes out with a few moist crumbs and the tops spring back lightly when touched.
Let the cakes cool in the pans for 10–15 minutes. Run a thin knife around the edges, then carefully turn them out onto a wire rack. Peel off parchment, if used, and let cool completely for at least 1 hour before frosting.
In a large bowl, beat the softened cream cheese and butter together on medium speed for 2–3 minutes, until completely smooth and creamy with no lumps.
16 oz cream cheese, 1 cup unsalted butter
Add 4 cups of powdered sugar, vanilla extract, 1 teaspoon coconut extract, and a pinch of salt. Beat on low at first, then increase to medium until smooth and fluffy. Add 2–4 tablespoons of coconut milk or cream, a little at a time, until the frosting is thick but spreadable. Taste and adjust with more coconut extract or up to 1 additional cup powdered sugar for a stiffer, sweeter frosting.
4–5 cups powdered sugar, 1 teaspoon vanilla extract, 1–2 teaspoons coconut extract, 1/4 cup canned coconut milk or heavy cream, salt
If the cake layers are domed, use a serrated knife to gently level the tops. Place one layer on a serving plate or cake stand and spread 1–1 1/2 cups of frosting evenly over the top.
Place the second layer on top, upside down so the flat side faces up. Spread a thin layer of frosting over the top and sides of the cake to create a crumb coat. Refrigerate for 15–20 minutes to set.
Once the crumb coat is set, spread the remaining frosting generously over the top and sides of the cake. Gently press 2–3 cups of sweetened shredded coconut over the sides and top, letting excess fall onto a tray or baking sheet underneath. Add berries, sliced almonds, or white chocolate curls if desired.
2–3 cups sweetened shredded coconut, fresh berries, sliced almonds, or white chocolate curls
Chill briefly to set if desired, or slice and serve at room temperature. For best flavor and texture, let refrigerated cake sit at room temperature for 20–30 minutes before serving.