I think kaya toast might be the Hainanese community’s greatest contribution to the cuisine of the Malay peninsula. They took the traditional coconut jams found around Asia and boosted its flavour with dark caramel, combining it with toast and hand-roasted coffee for the original Hainanese café experience now found all over Singapore and Malaysia.


10 eggs

600-750g caster sugar plus 50g extra for making caramel (I prefer to use 750g, but the recipe will work with as low as 600g)

5 pandan leaves, tied in a knot

400g coconut cream

¼ tsp salt

20g butter, plus thick slices of butter to serve

white or wholemeal bread, to serve


For the kaya, combine the eggs and sugar in a tall, slender pot and with a whisk, slowly stir in one direction for about 20 minutes until the sugar is dissolved. Don’t lift the whisk out of the kaya as that will create air bubbles.
Bring a large saucepan of water to a simmer and place a tea towel at the bottom of the pot. Place the tall pot into the water and stir for 5 minutes to ensure the mixture is fully dissolved. Add the pandan leaves and coconut cream and stir frequently for about 30 minutes to 1 hour (or more) until thickened. The time it takes to thicken will depend on your heat, and also the amount of liquid from the coconut cream (see note) but it is important to make sure the kaya is thick before adding the caramel.
Heat the remaining sugar in a small pot until a dark caramel forms. Stir through the butter and add to the kaya. Stir for a few more minutes until well-combined.
For the kaya toast grill the bread until well-toasted. Cut off the crusts and cover with thick slices of butter. Spread over lots of kaya, cut in half, and serve, preferably with thick Hainanese coffee. For wafer-style kaya toast, grill the bread on both sides then slice each slice in half horizontally and fill with slices of butter and a generous spread of kaya. 


  • If using a canned coconut cream, don’t shake the can before use. Open the top carefully and scoop out just the thick coconut cream from the top, leaving the watery liquid in the can. The volume will be less than 400ml, but you don’t need to top it up as the liquid will just need to be cooked off in the cooking process anyway. Using just the thick portion of the coconut cream will reduce the cooking time.
  • I like to use a cheese slicer to get even slices of butter.