Prep your pans and oven. Heat the oven to 350°F (175°C).
Grease and line two 8-inch round cake pans with parchment. Lightly flour the sides for easy release.
Whisk dry ingredients. In a medium bowl, whisk flour, baking powder, baking soda, and salt. Set aside so it’s ready to go.
Cream butter and sugar. In a large bowl, beat butter and granulated sugar until pale and fluffy, about 3 minutes.
This step sets the cake’s structure and lightness.
Add oil and eggs. Beat in the oil. Add eggs one at a time, mixing well and scraping down the bowl. Stir in vanilla and coconut extract.
Combine the milks. In a measuring cup, stir together coconut milk and whole milk.
Shake the coconut milk can first to ensure it’s smooth.
Alternate dry and wet. Add the flour mix in three additions, alternating with the milk mixture. Start and end with the flour. Mix on low just until combined—don’t overmix.
Fold in coconut. Gently fold in the shredded coconut.
The batter will be thick but spreadable.
Bake. Divide batter evenly between pans and smooth the tops. Bake 25–30 minutes, until a toothpick comes out clean and the centers spring back.
Cool completely. Let cakes cool in the pans for 10 minutes, then turn out onto a rack to cool fully. Frosting warm cake leads to sliding layers, so be patient.
Make the frosting. Beat cream cheese and butter until smooth and creamy, about 2 minutes.
Add powdered sugar gradually, then vanilla, coconut extract, and a pinch of salt. Beat until fluffy and spreadable. Adjust thickness with more sugar (thicker) or a teaspoon of milk (softer).
Toast some coconut (optional but great). Spread 1 cup shredded coconut on a baking sheet and toast at 325°F (165°C) for 5–8 minutes, stirring once, until golden at the edges.
Cool completely.
Assemble. Place one cake layer on a stand. Add a generous layer of frosting. Top with the second layer and apply a thin crumb coat around the sides and top.
Chill 15 minutes.
Finish and decorate. Add a thicker final layer of frosting. Press a mix of toasted and untoasted coconut onto the sides and top. For clean slices, chill the cake 20–30 minutes before cutting.