Easy recipe for rich and creamy homemade Hainanese kaya (coconut jam)! You only need the base ingredients of a custard – sugar, eggs, and coconut milk – to make this delicious, distinct caramel coconut jam.

This Hainanese kaya (coconut jam) has been on my to-do list for a while!

hainanese kaya (coconut jam)

Two posts ago, I shared this recipe for a rich, creamy homemade Nonya pandan kaya.  Even as I was writing that post, I was already thinking ahead of making this Hainanese version.

Hainanese kaya is creamy and so smooth, that the rich fullness of its sweet and distinctly caramel-infused coconut flavour simply melts in your mouth.

Save for Later:Hainanese Kaya (Coconut Jam)

Pin this on Pinterest

As a lover of kaya or coconut jam, I enjoy both types and cannot possibly argue the merits of one over the other, because their flavours are unique and delicious!

If you’ve tasted both before, whether a homemade or ready-made, do share your thoughts! Especially how you most enjoy having it!

What is kaya?

Kaya is traditionally prepared with 3 simple ingredients – eggs, sugar and coconut milk.

Though thought of as a coconut jam, as you can see, it’s really a cooked custard.

It’s a staple Asian spread popular in South East Asian countries like Singapore, Malaysia, Indonesia and Thailand.

The coconut milk is the ingredient that transforms the custard.

Flavours can also be added to this base custard to make some really amazing varieties of kaya, with added flavours of tropical fruit such as durian, honey and even XO.

It’s actually very convenient to buy ready-made kaya here in Singapore and in Malaysia, that you wouldn’t really feel the need to make this at home.

In supermarkets and mini grocery marts, you can easily get commercially bottled as well as canned kaya spreads.

Bakeries and confectionaries also offer their own freshly produced kaya, catering to increasingly health-conscious consumers by making less sweet or lower-calorie versions.

As easy as it is to just grab and buy a jar of kaya off the supermarket shelves, I very much enjoy the satisfaction of making our own at home because it can be free of preservatives and made less sweet.

How do we enjoy kaya?

Seriously, if you’ve got a sweet tooth, you could eat it right out of the jar off a spoon! Just like how you would eat peanut butter or ice cream!

I most enjoy eating kaya the classic way.  Picture it spread lavishly onto thick or wafer-thin slices of toasted soft white milk bread.

hainanese kaya (coconut jam)

And in typical Singaporean fashion, thickly cut slabs of cold butter laid on top are a must!

The butter, melting and oozing over the kaya by the warm heat of the toast, will have your eyes rolling in sweet gastronomic heaven!

Kaya is also amazing as a sweet filling in sweet buns and rolls, pastries and cakes.

Hainanese Kaya vs Nonya Pandan Kaya

You don’t need to be a regular kaya eater to appreciate the differences as well as similarities between Hainanese kaya and Nonya pandan kaya.

One obvious difference is the colour. Hainanese kaya is usually the colour of deep caramel or toffee imparted by the caramelised sugars.

Nonya pandan kaya is naturally light green, as the custard is typically coloured by the juices of freshly squeezed screwpine leaves, or what we refer to, locally, as pandan juice.

The next difference is flavour. Personally, I find that Nonya kaya has a muted sweetness to it, and obviously, a very distinctive pandan flavour because of the pandan juices.

Hainanese kaya is typically sweeter, and has a syrupy, honeyed flavour from the caramelised sugars.

The method of preparation may also be slightly different. In traditional Hainanese kaya recipes, sugars are heated and melted until completely caramelised into a golden toffee-coloured syrup.

The syrup is then added to the coconut-egg mixture, and gently cooked, bain-marie style. Sometimes, honey may be used to sweeten the jam.

When cooking Nonya pandan kaya, eggs, sugars, coconut milk and pandan juices are all first mixed together, before cooking in a bain-marie to get the soft custard.

Both Hainanese as well as Nonya pandan kaya spreads are aromatic and characteristically ‘lemak‘. 

Lemak is a Malay word used in gastronomic terms, to mean the creamy richness of a food, often attributed to recipes with lots of coconut milk.

hainanese kaya (coconut jam)

It doesn’t take very long to prepare homemade kaya. For an hour’s light labour in the kitchen, you’ll be rewarded with this wonderfully rich and creamy coconut egg jam!

I guarantee homemade kaya will absolutely spoil you, once you try it. You probably won’t be able to appreciate those cloyingly sweet, bottled ones ever again!

About this Hainanese kaya recipe

The great thing about homemade versions is that you’re absolutely free to make it the way you and your loved ones enjoy them.

In pinning down a recipe that’s easy and straightforward, I came across this one posted by Sonia of Nasi Lemak Lover here.

I’ve adjusted the sweetness by reducing the amount of sugar.

I’ve also taken the liberty of adding a little butter, as I typically do when cooking fruit curds and jams.

I added it at the end of cooking to enrich the flavour a notch, and to blunt the sharp sweetness of sugars in the jam.

Do try this, and tell me what you think! If you’ve got a good recipe to share, or made one with your own adaptations, I’d love to hear about it! Sharing is caring! Have a wonderful week ahead!

If you tried this recipe, don’t forget to share it on Instagram by tagging @foodelicacy or #foodelicacy. I’d love to see!

hainanese kaya (coconut jam)

Hainanese Kaya

5 from 27 reviews
Prep Time: 15 minutes
Cook Time: 45 minutes
Total Time: 1 hour
Yield: 1 1/2 cups or 25 servings
An easy, simple recipe for rich and homemade Hainanese kaya (coconut jam) made with caramelised sugar, coconut milk and eggs.


  • 350 ml coconut milk at room temperature
  • 225 g caster sugar
  • 3 eggs
  • 2 – 3 pandan leaves washed and knotted
  • 15 g butter optional


  • In a mixing bowl, combine coconut milk and 100 g of sugar. Whisk by hand until sugar has dissolved. Add eggs, whisk to combine well.
  • In a small saucepan, melt the remaining sugar over medium heat (the loose sugar grains will typically start to clump up as it cooks after a few minutes, before becoming a thick syrup, and then browns as it caramelises further). Once the syrup is the colour of caramel, turn off the heat. Do not over-cook as the syrup can burn and become bitter-tasting.
  • Then, carefully and slowly introduce the caramel syrup into the coconut milk and egg mixture, whisking as you add. Do not worry when the syrup hardens like brittle, as it mixes with the mixture. Continue to whisk, breaking down the syrup as you do so, and mixing it into the mixture (never mind the hardened bits, these will melt as the mixture cooks).
  • Fill a pot about one-third full with water, and bring to a gentle simmer over low heat. Place the mixing bowl over the pot, with the base of the mixing bowl above the water level. Add the knotted pandan leaves.
  • Gently cook the mixture, stirring regularly around the sides and bottom of the mixing bowl. Remove pandan leaves once they turn pale, and discard. Continue to cook the mixture until it thickens to desired consistency, between 45 minutes to an hour. Mixture is at ideal consistency when it thickly coats your spoon, without dripping off the edge. Add the butter (optional), and stir to mix well. Remove from heat, and set aside to cool completely to room temperature. Store in an air-tight container, and keep refrigerated. It will keep well for 1 to 2 weeks, if stored and handled well.

Nutrition Information:

Serving: 1serving, Calories: 74kcal, Carbohydrates: 9g, Protein: 1g, Fat: 4g, Saturated Fat: 3g, Polyunsaturated Fat: 1g, Cholesterol: 24mg, Sodium: 14mg, Sugar: 9g
Cuisine: Asian, Chinese
Course: Jam & Sauce Recipes
Author: Celia Lim
Did you make this recipe? Be sure to leave a rating and a review in the section below, and tag @foodelicacy on Instagram and hashtag it #foodelicacy so I can see!