Homemade Nonya Pandan Kaya (Coconut Jam)

29 comments All Recipes, Light Bites

Pandan kaya is a coconut egg jam, widely eaten as a spread over toasted bread, soft buns, and as a cake filling or topping. It has a smooth texture, is creamy and rich tasting, made primarily with coconut milk and eggs, subtly flavoured with pandan juices, and sweetened with sugar.

pandan kaya (coconut jam)

Today, I’m updating my easy and simple recipe for making Nonya pandan kaya or pandan coconut jam. Kaya or coconut jam needs no introduction if you live in South East Asia, especially in countries like Singapore, Malaysia, and Indonesia.

I’ll be using both names, kaya and coconut jam interchangeably throughout this post so both will sound equally familiar to you. 

Kaya is a coconut jam we love to slather on toasted or steamed slices of milk bread as a staple for breakfast or a mid-afternoon treat.

Its also highly favoured as a filling in local desserts like pandan kaya cake and pandan egg tarts, just to name a few ever-popular Singaporean treats.

Watch this recipe in action on a video tutorial for making kaya butter steamed buns created by the talented people at Share Food Singapore.

pandan kaya (coconut jam)

What is kaya?

Though popularly thought of as a jam, nonya pandan kaya is essentially a soft but thick curd or paste-like spread.

Its a cooked custard made with eggs, sugar, coconut milk and pandan juice. Pandan juice is the juice obtained from the tropical plant pandanus amaryllifolius, a tropical plant used in many cuisines for flavouring foods, especially desserts and cakes.

Homemade pandan coconut jam is very easy to make from scratch. It can be smooth or slightly curdled when cooked.

We love it for its sweet, rich and creamy coconut flavour. It’s made primarily with coconut milk and eggs, flavoured with pandan juice, and sweetened with sugar.

It’s also commonly referred to as srikaya or serikaya.

The colour of your coconut jam depends on the colour of the egg yolks, the amount of pandan juice, types of sugars used, and the extent of caramelization.

Nonya kaya is light green in colour. Hainanese kaya uses caramelised sugar, has a toffee colour, and is often sweetened with honey.

How to enjoy kaya or coconut jam as a treat

Whenever I feel inclined for a light, delicious snack, I most enjoy kaya when thickly spread onto warm toast with slabs of cold butter or melted peanut butter.

What I just described is a local snack known as kaya butter toast or simply kaya toast. On toast, kaya’s sweet creamy flavour goes well with cheese slices as well as peanut butter.

We also spread it on cream crackers and plain biscuits. And if you love it sweet and simple, there’s absolutely nothing to stop you from taking in spoonfuls of it right out of the jar! Just as you would peanut butter or ice cream!

pandan kaya (coconut jam)

It’s easy to get commercially produced kaya spreads off the shelf in grocery mini-marts and supermarkets.

If you enjoy kaya with more of a ‘homemade’ taste, you can also buy those produced and sold by specialty bakeries and confectionary shops.

As easy and convenient as it is to buy ready made kaya, I always enjoy making kaya at home as it’s easy and simple.

It does take some patience and time to cook since you’ll need to cook the mixture gently using a double boiler.

How to cook this

Like all custards, kaya or coconut jam needs to to be cooked gently. The aim is to get the kaya to a smooth texture without too much curdling.

Slight curdling is almost unavoidable with homecooked kaya, but a quick blitz in a food processor or immersion blender will get it all smooth!

Kaya is best cooked using indirect heating like a double boiler or bain marie. Because we’ll need to whisk the kaya mixture regularly as it cooks, a stove-top double boiler is ideal.

This method works best so that we can see and gauge the texture of the coconut jam as it cooks. This will help us avoid overcooking the kaya.

The aim is to get a cooked, curd-like custard with a smooth texture that isn’t too curdled.

What you’ll need to set up a double boiler

A double boiler is very easy to set up in your kitchen. You will need:

❶  A medium-sized pot which can hold about 3 to 4 litres of water.

❷  A medium-sized heatproof metal or glass mixing bowl which can sit snugly over the rim of the pot. 

The base of the mixing bowl should sit inside the pot, above the water level in the pot. The base should not come into contact with the water when the water is gently simmering. 

Set the water-filled pot on your stove-top heating element, start at low to medium heat. Bring water to a gentle, continuous simmer.

Set the mixing bowl containing the kaya mixture over the pot, and stir the mixture frequently with a whisk as it gently cooks.

The kaya will start to thicken, get sticky and curdle as it cooks, so frequent stirring with a whisk will help smoothen the texture.

Remember to keep the heat low throughout the cooking time!

Once the kaya is cooked to the consistency of a soft curd or thick paste, it is done. Bear in mind that it will firm up slightly as it cools.

pandan kaya (coconut jam)

How to get your kaya smooth?

I have cooked coconut jam on many occasions. Yet, in spite of my best efforts, I can sometimes inadvertently end up with an overly curdled or lumpy texture.

Now, I don’t know about you, but this really annoys me. I love kaya smooth and glossy – we eat with our eyes after all!

If this happens to you, I’ve got the simplest fix. Give the cooked coconut jam a couple of quick pulses or blitzes in your food blender, or with a handheld immersion blender, until its free of lumps and smooth!

That’s it! Easy peasy! 

Ultimately, making your own homemade kaya is ensuring that it has much less preservatives, artificial flavourings, colourings and reduced sugar. So, I do hope you’ll try this and enjoy!

Check out these other pandan and coconut treats you can try:

Tried this recipe? I’d love to see! Remember to share your pics on Instagram and tag @foodelicacy or #foodelicacy.

Pin this Recipe!

Nonya pandan kaya (coconut jam)

Homemade Nonya Pandan Kaya (Coconut Jam)

Yield: 1 1/2 cups (25 servings)
Prep Time: 10 minutes
Cook Time: 40 minutes
Total Time: 50 minutes

Kaya is a coconut egg jam, widely eaten as a spread over toasted bread, soft buns, and as a cake filling or topping. It has a smooth texture, is creamy and rich tasting, made primarily with coconut milk and eggs, subtly flavoured with pandan leaves, and sweetened with .


  • 5 eggs
  • 175 g sugar
  • 225 ml coconut milk
  • 40 ml pandan juice

To make pandan juice:

  • 5 pandan leaves, sliced into 1-cm sections
  • 3 tbsp water


  1. To make pandan juice, blend or pulverize pandan leaves with water in a food processor or blender, until as fine as possible. Strain the mixture, pressing it with the back of a metal spoon, to obtain pandan juice. Measure out 40 ml (leftover juice will keep well in an airtight container for up to 5 days, refrigerated).
  2. In a mixing bowl, combine eggs and sugar, and whisk by hand until sugar dissolves, about 2 minutes. Add coconut milk and pandan juice, and stir to mix well. Strain the egg-coconut milk mixture into a medium-sized heatproof metal or glass mixing bowl.
  3. Set up the double boiler. Fill a medium-sized deep pot with about two inches of water. Set the water-filled pot on your stove-top heating element. Bring water to a gentle, continuous simmer over low to medium heat. Set the heatproof mixing bowl containing the kaya mixture over the pot, making sure the base of the mixing bowl does not come into contact with the simmering water.
  4. Stir the mixture frequently with a whisk as it gently cooks. As the mixture cooks, it will gradually thicken and become sticky. Keep stirring until kaya is at the desired consistency. This may take about 40 mins, depending on how your double-boiler is set up. When it thickens to a soft paste, pour out the kaya, and set aside to cool completely. Note: The kaya will firm up a little more as it cools.
  5. If a smooth, lump-free texture is desired, pour the cooked kaya into a food processor or blender, and pulse the mixture for a few seconds, or until desired smoothness. Set aside to cool completely. Once cool, store in an air-tight container and refrigerate.
Nutrition Information:
Yield: 25 Serving Size: 1
Amount Per Serving: Calories: 59Total Fat: 3gSaturated Fat: 2gTrans Fat: 0gUnsaturated Fat: 1gCholesterol: 37mgSodium: 16mgCarbohydrates: 8gFiber: 0gSugar: 7gProtein: 1g

All nutritional values are approximate only.

Did you make this recipe?

I’d love to see! Remember to share your pics on Instagram and tag @foodelicacy or #foodelicacy.


  1. Hi Jonathan, thank you so much for taking the time to comment. Yes, this is also pandan kaya, and as the recipe was sourced from a local cookbook series, I was referring to it by the author’s original title. I’ve taken your suggestion and will update the recipe title.

  2. I personally think that it is more appropriate to name this kaya as Pandan Kaya.

  3. Hi Ibi, glad you liked it! Awesome job with the slow and gentle cooking of the custard, it’s so easy to overcook and end up with a curdled mess, but you nailed it! I know, it’s a lot of hard work, but I’m with you on this one – homemade is the best there is! Thank you so much for writing in to share! Have a wonderful weekend!

  4. Hi Celia, your recipe was easy to follow but what a lot of stirring to do…!
    It was worth it though! I reduced my sugar to 140g and it was just nice for my taste. My kaya turned out smooth ( without using blender) and I think it’s a combination of continuous stirring and simmering water bath.. My go to kaya recipe now.. thank you

  5. How long does the jam good for? Will refrigeration extend its consummation, and if yes how many days? Thanks

  6. Hi Leo, this jam needs to be kept chilled in the refrigerator once cooked and cooled. If kept in an air-tight jar or container, it should keep well for up to 5 to 7 days.

  7. Hi, Celia
    Thanks for your clear explanations. Will make the kaya again when I have the time.
    God bless 🙂

  8. Hi Lilyn, so sorry to hear that. It’s normal for kaya to get a little lumpy, as it is basically a custard which needs slow and gentle cooking. It can become lumpy if cooked too long or cooked at an overly high temperature. Yolks will cook and pasteurise at 85 deg C, but over 87 deg C, it will start to curdle. Even if that happens, usually giving it a good couple of pulses in a blender always smoothens it out, but I’ve never experienced a grainy texture before so I’m not too sure what went wrong. Sounds like some of the sugar may have not fully dissolved? The kaya needs regular stirring over gently simmering water in a bain marie, to dissolve the sugar and prevent overcooking. I really hope this works out for you! I’m sorry if I couldn’t be more helpful?

  9. Hi, Celia
    After cooking the kaya, it’s texture is lumpy n after blending it, it’s not smooth but grainy. Why?

  10. Hi Jackie, I used boxed coconut milk, and have tried this with canned coconut milk as well, using the same amounts as per the recipe. I have found that the flavours of coconut milk do vary a little among brands, some give a creamier taste while others less so, so you’ll have to try. Hope it works out!

  11. May I ask what or which kind of coconut milk you used in both kaya recipes, fresh or tinned? If fresh, then the how of it please. Thanks.

  12. Hi Amanda, warm greetings to you in Amsterdam (where it must be quite cold now at this time of the year!) What a pleasure to read your lovely story! Thank you so much for sharing, I’m so thrilled this recipe worked out for you to your enjoyment. I hope your boyfriend’s mom took to this home-made version. I’m as mad as you are over kaya. Though I know it’s so easy and affordable to get kaya everywhere in Singapore, as in your country of Malaysia, but I just love home-made versions as well. You said it, this is truly magical! Hope your friends love it as much! Enjoy and keep your lovely stories coming, ya! Cheers, Celia

  13. Hi Celia,

    I absolutely love kaya and have been craving for it being so far away from home (Malaysia). I’m in Amsterdam right now. I chanced upon your recipe and decided to have a go because I wanted to make some kaya for my boyfriend’s mom who also loves kaya (She’s Dutch but fell in love with it while visiting Malaysia a couple of years back). I had to ‘wing’ it a bit with a hand blender to get the pandan juice from fresh pandan leaves. But besides that, I am so happy with the results! I was sad that the yield was quite little as in it was just enough for the gift bottle and not enough for myself haha. I’m making more this weekend for myself and for more friends to let them try this magical concoction 😉 Thank you!

  14. Thank you so much for sharing, Eve!?

  15. I refrigerate for more than a week, the taste didn’t change and it still has the smooth texture. Awesome recipe. Thank you very much.

  16. Hi Eve, thanks so much for sharing, that’s awesome! Glad it worked out!? Yes, do keep it chilled in the refrigerator as it has a high egg and coconut milk content. It should keep for a week if handled well. Enjoy!?

  17. Thanks for the recipe. I followed your recipe today. Simple ingredients and easy to make though it did take some time to stir. I got worried after seeing the texture become lumpy and watery. I continued to stir till the water almost dry up, and removed from heat, popped it into the blender, use ‘Pulse” a few times to check the consistency and managed to achieve smoother kaya cream texture. Can I refrigerate the kaya?

  18. Hi Lee, thank you so much for sharing.? Thank you for trying this recipe! I’m so happy to know you love the taste very much! Yes, it would help to stir with a whisk, but the kaya will still be naturally a little lumpy. To get a really smooth texture (like in the photos), if you have a food processor or blender, you can blend the cooked kaya (when cooled to room temp) for 10 to 15 seconds or until smooth enoughto your liking.? Let me know if this works out, ya? You can try this with the kaya you just cooked…?

  19. Hi Celia,
    I love the simple ingredients in your kaya recipe. Just that mine with lumpy texture. I followed exactly the steps given and cooked with low to medium fire. May I know should I use spatula or whisk to stir the mixture on double boil? My end result is like custard texture. But I still like taste very much. Thanks for sharing!

  20. Hi Grace, I can’t be absolutely sure but as kaya is essentially a custard, the lumpy texture could be due to too high temperature when cooking so the eggs started to curdle. As you cook the custard over the double boiler, you also need to stir constantly to get a smoother texture. You will need to keep water in the double boiler at a gentle simmer (and not boiling), over medium heat. Try cooking the kaya a little longer until it is quite thick ( but spreadable) to reduce the water content. Hope this helps!

  21. but mine has lump and water separated. Can you please give me some guides what could it went wrong?

  22. Hi Eunice, thank you so much for your comments! So happy that you liked how it turned out for you.? I think I have a pretty powerful blender (Vitamix) which allowed me to easily extract the required amount, so thanks to your feedback, I’ll definitely have to bear in mind that the water to pandan leaves ratio may need tweaking. I’ll be sure to highlight that as soon as I can, as well as a general guideline as to the time it might take to cook over a bain marie. Thank you for trying this, and for all your helpful suggestions! ???? ! Have a wonderful weekend! Cheers!

  23. I made your recipe and it works wonderfully. Lovely taste, colour and authentically Singaporean. (I say that because I’m Singaporean.) My only concern is the Pandan to water measurement which is not accurate when I did it. Perhaps my blender was a bit wide (but I think I have an average size blender) and it couldn’t blend to a fine texture. What I did was to double the amount of leaves and add more water to extract out 40ml of Pandan juice.

    It will also be good if you can add in a timing to Bain Marie the mixture, I took 12 mins and lifted it off the heat back to the blender to smooth it. This was perfect for me.

    By the way, I also chose your recipe because unlike the others, your result is a soothing Pandan green Colour and not brown. Love it! Thanks for sharing 🙂 definitely do it again next time.

  24. Thank you so much, Patricia!?

  25. Hi Celia

    Thank you for sharing generously!

  26. Hi Lois, you can use pandan essence or pandan paste. This is a concentrated flavouring, so I would probably use 1/4 to 1/2 tsp for the amount in the recipe. You can always start with less, and add a couple of drops at a time, if you want a more vivid green.??

  27. Hi I don’t have pandan leave to make juice. What can I substitute with. Please advise. Thanks

  28. Hi Jenny, thank you! I’m so happy to hear that! Oh, and thanks so much for the heads up on the unworkable(?) ‘print recipe’ link..I’ll definitely look into that and try to work it out. Have a wonderful weekend, hopefully with a bake in mind (if you enjoy butter cakes, may I suggest trying out this chocolate vanilla marble cake ?):)

  29. Hi Celia

    Thanks for sharing your cake recipes The Pound cake recipe was really great.
    There seems to some problem with your print recipe link though …..

Leave a Comment

Your email address will not be published. Required fields are marked *