Preheat the oven to 350 degrees F (175 degrees C) and grease your baking pan.
In a large bowl, whisk together the flour, baking powder, baking soda, and salt. Set aside.
In another large bowl, cream together the butter and granulated sugar until light and fluffy.
Beat in the eggs one at a time, mixing well after each addition.
Stir in the vanilla extract.
Alternate between adding the dry ingredients and the coconut milk to the wet ingredients, beginning and ending with the dry ingredients. Blend until just combined – don't overmix!
Stir in the sweetened shredded coconut.
Pour the batter into your prepared pan.
Bake for 30-35 minutes, or until a toothpick inserted into the center comes out clean.
Let the cake cool in the pan for 15-20 minutes before inverting onto a wire rack to cool completely.
Make the frosting:
In a medium bowl, beat together the cream cheese and butter until smooth and fluffy.
Add the powdered sugar, one cup at a time, until fully incorporated.
Stir in the vanilla extract.
Assemble the cake:
Frost the cooled cake with a thick layer of cream cheese frosting.
If desired, garnish with additional toasted coconut for a tropical touch.
Notes
Use full-fat coconut milk for the richest flavor.
For a toasted coconut cake, spread the shredded coconut on a baking sheet and bake at 350 degrees F for 5-7 minutes, or until golden brown.
Store your leftover coconut cake in an airtight container at room temperature for up to 3 days.