Homemade Nonya Kaya (Pandan Kaya) or Coconut Jam

 Kaya (a Malay word meaning ‘rich’) 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 sugar.

Kaya (coconut jam) needs no introduction if you live in Singapore, Malaysia, or Indonesia. When spread lavishly onto crisply toasted, or softly moist, steamed slices of bread, it becomes a staple meal for breakfast, tea, or at any time of the day, whenever we feel inclined for a light, delicious snack.

More often than not, I enjoy thickly spread kaya with slabs of melted butter or peanut butter on toast (kaya butter or kaya peanut butter toast), as part of a light breakfast meal served at local coffee shops here. Typically, this includes one to two half-boiled eggs, which if done perfectly, yields a slightly runny yolk, in just-cooked whites, the texture of soft, delicate tofu. And in typical Singapore fashion, I enjoy my half-done eggs drizzled over with black soy sauce and dashes of white pepper, which I then poke at and stir, and even more unceremoniously, dunk my kaya toast in. It’s a gastronomic match made in heaven, when sweet meets savoury, and dry meets wet… bon appetit!


Kaya (a Malay word meaning ‘rich’) is essentially a coconut egg jam, and is widely eaten as a spread over slices of toasted bread, soft buns, and as a cake filling or topping. It has a smooth texture, and is creamy and rich tasting, which might explain its name. It’s made primarily with coconut milk and eggs, subtly flavoured with pandan leaves, and sweetened with sugar. It’s also commonly referred to as srikaya. The colour of kaya depends on the colour of the eggs, the amount of pandan, and the extent of caramelisation of the sugar. Nonya kaya is light green in colour, while Hainanese kaya uses caramelised sugar, is darker brown in colour, and often sweetened with honey.


It’s easy to get commercially produced kaya spreads off the shelf in grocery mini-marts and supermarkets, or if you enjoy kaya with more of a ‘homemade’ taste, these are also produced and sold by specialty bakeries and confectionary shops.

As easy and convenient as it is to buy ready made kaya, I enjoy making kaya at home as it’s easy and simple enough, though it does take some patience and time to cook, as you’ll need to stir the mixture, more or less, quite continuously, to prevent it curdling and becoming lumpy as the eggs in the mixture cook. As gentle, indirect heating is required, a double boiler or bain-marie is usually set up.

Homemade_Kaya_5Preparing a double boiler or bain-marie in your kitchen is easy! Here’s how: Use two different sized pots, one smaller and one bigger. Depending on the quantity of mixture to be cooked, place the mixture you wish to cook in the smaller pot, and let it sit inside or over the rim of the bigger pot. Fill the bigger pot with enough water, up to just below the base of the smaller pot (bain-marie). If making a double boiler (or water bath), fill the bigger pot with enough water to come up the sides of the smaller pot, being careful not to let water overflow into the smaller pot. If the water level gets too low during the cooking, just add more hot water as required.

Ultimately, what is most appealing about making kaya yourself, is that you can use all natural ingredients, without preservatives, flavourings and colourings, and adjust the sweetness to your taste. So, why wait? Enjoy!


Homemade Nonya Kaya (Coconut Jam)

An easy recipe for homemade Nonya kaya, or coconut egg jam, prepared with eggs and coconut milk, flavoured with pandan juice, and sweetened with sugar (Adapted from source: 'Local Kueh - Joy of Cooking Series' by Novum Organum)
4.38 from 16 votes
Print Pin Rate
Course: Breakfast, Sauces & Jams, Snack, Snacks and Treats, Tea
Cuisine: Asian, Chinese, Straits Chinese
Prep Time: 10 mins
Cook Time: 40 mins
Total Time: 50 mins


  • 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


  • 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).
  • 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 small pot, that can sit inside a bigger pot.
  • Set up a double boiler or bain marie. Place the small pot inside the bigger pot. Carefully pour water into the bigger pot, until the water comes up the sides of the small pot (do not allow the water to overflow into the small pot).
  • Bring the water in the bigger pot to a gentle boil or simmer over medium fire, stirring the mixture continuously. As the mixture cooks, it will thicken and become sticky. Keep stirring until kaya is at the desired consistency. Pour out the kaya, and set aside to cool completely.
  • 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.
Did you try this recipe? Share it on Instagram!I'd love to see! Don't forget to mention @foodelicacy so we can drool away with you!


  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 *


This site uses Akismet to reduce spam. Learn how your comment data is processed.