Preheat oven to 350°F / 175°C. Line a 9" (23cm) springform pan with parchment paper. Set aside.
Crust: In a large bowl stir together graham cracker crumbs, toasted coconut flakes*, sugar, and melted coconut oil/butter until combined and evenly moistened. Transfer to the prepared pan and press crumbs into the bottom and halfway up the sides with the back of a measuring cup. Bake for 10 minutes. In the meantime, prepare the filling.
Filling: In a large mixing bowl, using a handheld or stand mixer fitted with a whisk or paddle attachment, beat the cream cheese, sugar, and flour just until combined, smooth and no lumps remain. Add coconut milk** and vanilla*** and mix to combine. Add one egg at the time and mix just until combined before you add the next egg. Scrape down the bowl before you add the last egg and mix until combined. Don't overmix. Too much air in the filling can cause cracks while baking.
Pour filling into the crust and spread evenly. Place a piece of parchment paper under the springform pan and bake for 45-55 minutes until the edges look puffed and the top is set with a lightly wobble underneath. It still should wobble like pudding when you turn off the oven. Don't overbake. I baked mine for 50 minutes.
Turn off the oven, crack open the door, and let the cheesecake in the oven for another hour. Then remove from the oven and let cool to room temperature. Refrigerate at least 3 hours or overnight. Store leftovers in an airtight container in the fridge up to 3 days.