5 Ingredients or Fewer

Homemade Kaya (Coconut Jam)

November  4, 2014
9 Ratings
Photo by Mark Weinberg
  • Prep time 10 minutes
  • Cook time 40 minutes
  • Makes 1 cup (240 milliliters)
Author Notes

Kaya (coconut jam) is very popular in Southeast Asia, especially Malaysia and Singapore. I came across this dreamy coconut spread in Singapore, when ordering a butter-kaya toast for breakfast. Since then, I have been cooking it a lot at home -- and with this recipe it works every time. Not only is it the best bread spread I know, but it also makes a great last-minute gift. People always ask me for the recipe, because they got "addicted."

Usually kaya is spread on toasted bread, tiled with a slice of butter (at least 1/8 inch thick) and is accompanied by a soft boiled egg and soy sauce, seasoned with white pepper. In Southeast Asia, kaya is often made using palm sugar which gives this coconut jam a unique caramelly taste. The slightly less sweet palm sugar, which is available in Asian grocery stores, can be substituted with brown sugar, if you can't find it. Also the color of the end result will depend on the sugar you are using. For the kaya in the picture I used a mix of granulated sugar and light brown palm sugar. Enjoy! —Ursula | Lil Vienna

Test Kitchen Notes

I had never heard of Kaya before, so I was excited to try it. It tastes great on toast with cheese; I could also see it pairing nicely on a cheese platter. I think it would be a fun gift to receive because it's just so different, and it has a great story behind it. —Anna Francese Gass

What You'll Need
  • 4 large egg yolks
  • 200 milliliters (3/4 cup plus 2 tablespoons) full-fat coconut milk
  • 30 grams (3 tablespoons) light brown palm sugar, finely chopped if crystallized*
  • 65 grams (5 tablespoons) granulated sugar
  • 3 fresh pandan leaves (you can find them in Asian stores; skip if you can't find them)
  • 1 pinch fine sea salt
  • (all ingredients should be at room temperature)
  1. Beat egg yolks with a fork until the yolks are combined (but don't beat them so much that they get foamy).
  2. Heat coconut milk together with the chopped palm sugar, granulated sugar, pandan leaves, and salt in a double boiler or over a bain-marie. I always use a medium-size pot, filled with about 1 inch of gently simmering water, and place a heat-proof metal mixing bowl (e.g. stainless steel) over the pot.
  3. Stir constantly with a rubber spatula as the coconut milk gets hotter. When the mixture comes to a boil (or at least nearly), remove the bain-marie (including the water pot) from the heat.
  4. With a ladle, gradually (!) pour half of the hot coconut milk mixture (about 1/2 cup) into the egg yolks while constantly stirring the yolks. It is very important to do this slowly and while stirring, otherwise the yolks curdle easily. Also, if you remove the upper bowl from the bain-marie to pour the mixture, be careful not to get burnt, because the steam is very hot. That's why I use a ladle.
  5. Put the bain-marie with the remaining coconut milk back on the stove and gradually add the egg-milk mixture while stirring.
  6. Stir until the mixture thickens, about 10 to 20 minutes, depending on the heat. Don't cook it over high heat, as the yolks will curdle. The final texture should be custard-like, similar to that of lemon curd. The kaya will still get thicker once it cools.
  7. Remove the pandan leaves and pour the kaya into clean jars. If you see any lumps or curdled egg, press the curd through a strainer first.
  8. Keep coconut jam refrigerated and use within 1 week.
  9. *Note: If you can't find light brown palm sugar, you can use 30 grams (3 tablespoons) dark brown palm sugar, or regular light/dark brown sugar instead.

See what other Food52ers are saying.

  • Änneken
  • Anastasia S. V. Andreadis
    Anastasia S. V. Andreadis
  • Ursula | Lil Vienna
    Ursula | Lil Vienna
  • LeBec Fin
    LeBec Fin
Austrian, Cookbook author, Journalist, Food blogger, Globetrotter, (Bread)Baking enthusiast, Recipe-tweaker, Chocolate-lover.

13 Reviews

Änneken February 1, 2021
What a comforting, creamy, coconutty dream of a spread! Yummm! About the pandas leaves: I have never had them but found them online and used them in the recipe. Not sure if I could taste them or not?
Ursula |. July 22, 2021
I often make kaya without pandan leaves since they are often hard to find in stores (sometimes in the frozen aisle at Asian grocery stores). They have a slightly nutty and vanilla aroma. But this recipe works totally fine without adding them.
LeBec F. March 1, 2024
great recipe,thx! I'm a tweaker; have you tried using flavor essences or powders to make more kaya flavors?
mikachanelgo June 10, 2020
Hi, may I ask how to make the kaya jam slightly green in color? Thank you. 🙂
Ursula |. July 22, 2021
The green color comes from the pandan leaves. But even if using them, the kaya won’t be green in my experience. Commercially, food dye is added for the green color.
YasminLeonora August 28, 2018
I am half Malaysian-Chinese and this recipe honestly took me back to my childhood, 100% would recommend for both the taste and the easiness of this recipe!
Ursula |. November 5, 2018
Thank you so much! I instantly fell in love with kaya the first time I tried it. Mhhhhh, butter-kaya toast :-)
Anastasia S. July 18, 2018
What can I use in place of the eggs?
lisavanin November 30, 2014
Can this be processed and canned?
Ursula |. November 30, 2014
Sorry, I don't know (also see my note below). But you can find commercial products in most Asian grocery stores. Maybe this link helps: http://nchfp.uga.edu/how/can_02/lemon_curd.html --> it's about storing lemon curd but I guess this will keep longer since it contains acid.
Morganpaigevandyk November 23, 2014
How long does this keep in the fridge?
Morganpaigevandyk November 23, 2014
Oops sorry never mind!
Ursula |. November 24, 2014
in the recipe above I wrote that Kaya will keep 1 week in the fridge (similar to lemon curd, since it contains eggs). I personally always use it longer - let's say a couple of weeks but I recommend using it within 1 week, just to be on the safe side ;-)