Making Homemade Kaya in a Sous Vide Water Bath

“If you like coconut, you will probably like kaya. Kaya is one of those foods that makes you close your eyes, feel content and be thankful that life is very beautiful.”

French Toast Waffles with Dianas Homemade Kaya - on Kavey Eats

Kaya is a sweet, thick coconut spread that is popular in Malaysia and Singapore. Thickened with egg, velvety smooth and brown, Kaya has something in common with custard, lemon curd and dulce de leche.

Preparation time using this sous vide method is minimal; all that is required is to put the ingredients in a pot.

There are only four ingredients – coconut milk, sugar, egg and pandan leaf.

Coconut Milk

Coconut milk, in my opinion, is better canned than fresh as far as kaya is concerned.  Use coconut milk that is high in fat content – like butter in lemon curd, coconut cream makes kaya smooth and silky.

Diana's Kaya-3 Diana's Kaya-4

Brands vary widely; the canned coconut milk I use has a very high fat content; as you can see in the photo, it is more than half cream.  The fat content of a brand of coconut milk can be determined quite easily.  Chill the can in the fridge overnight or for at least a few hours before opening it.  The cream will have coagulated on top.  Scoop the cream into a measuring cup and then add the watery juice.  Warm it all up in the microwave, and stir to recombine cream and liquid before measuring the amount you need.  You can buy coconut cream in cans or packets as a stand-by, to add to coconut milk that turns out to be on the thin side.

Gula Melaka / Sugar

Sugar was used to preserve food in the days before refrigeration. In the health-conscious time we live in now, being able to control the amount of sugar used is probably one of the main reasons you might want to make kaya at home, besides avoiding the chemical additives in ready-made versions.

Diana's Kaya-1 Diana's Kaya-2

Unrefined coconut palm sugar, called gula melaka in Malaysia, adds an instant caramel taste to kaya and contributes to its colour as well.

Gula Melaka is made from boiling the sap of coconut palms.  Traditionally, the syrup is poured into thick bamboo which serves as a mould and forms the sugar into a cylindrical block.  Use a microplane to grate the sugar and make it easier to measure the quantity you need.

Diana's Kaya-11

Some kaya recipes call for caster sugar and caramel, possibly because palm sugar is less available.  A small quantity of caramel can be made in a stainless steel measuring cup over a low gas flame.

Pandan Leaf

The pairing of pandan and coconut is a signature flavour in Southeast Asian desserts.

Diana's Kaya-5

Pandan is a softly fragrant plant used in Southeast Asian desserts as often as vanilla is used in western cuisine. The pandan leaves shown the photo are 70 cm long.  Southeast Asian recipes will instruct you to tie the leaves into a knot before adding them to the kaya ingredients, and to remove them when cooking is finished. Knotted leaves could take away half of your kaya when you remove them so I find it more practical to twist a few folded leaves, like wringing a towel, to help release the flavour, then cut them into lengths.  This way, your precious cooked kaya can be scraped off the leaves easily.

Diana's Kaya-6 Diana's Kaya-7

You will probably find many more pandan leaves in a packet than you need in one recipe.  Freezing the cut lengths is an option, and you can also make pandan juice, which is more compact to store in the freezer.  Blend in a food processor 100 ml water for each 30 g of cut pandan leaves, then squeeze the slush in a piece of muslin to extract the juice. Pandan juice has the virtue of not discolouring easily.  Freeze excess pandan juice into small pellets in a silicone mould for future use in a wide variety of Southeast Asian desserts.


Eggs thicken the kaya, just as they do in custard and lemon curd.

Some cooks prefer to make kaya with duck eggs, because the yolk contains more fat than chicken eggs.

Because duck eggs can be much larger than chicken eggs, it can be necessary to use a part-egg, especially when scaling recipes up or down. I calculate chicken egg equivalents with this rule of thumb: one chicken egg is 50 grams without the shell, and an egg yolk is 20 grams.

Diana's Kaya-8

Beat the eggs to allow easier division by weight, and strain them to get rid of any chalaza in the egg white that will turn into hard bits in the kaya when cooked.

The Traditional Way – Hours of stirring

Kaya made the traditional way includes several hours of continuous stirring over low heat. Stirring is obviously necessary to prevent the eggs from curdling. But as anyone who has made custard from scratch would know, it doesn’t take long for a mixture to reach the 80°C to 85°C that the eggs need to thicken a mixture. Therefore, it is puzzling why the traditional method of making kaya required several hours of stirring. Even when life was more leisurely and time more plentiful, it is unlikely that cooks would do something for several hours that was really not  necessary.

My hypothesis is that the long cooking time served two purposes. First, it allowed moisture to evaporate from the fresh coconut milk that cooks would have made by adding hot water to grated coconut. That evaporation increased the proportion of coconut fat in the cooked mixture. A high fat content is essential to give kaya a rich and silky consistency. Secondly, the low heat applied for a considerable length of time – for the mixture must not be allowed to boil – in combination with a high concentration of sugar and fat, prevented egg-rich kaya from spoiling quickly in the tropical heat.

Traditionally made kaya is dark brown as a result of the long cooking time. Kaya that contains palm sugar is already light brown to begin with.  It turns dark after prolonged cooking because amino acids in the eggs react with the sugar to yield a caramel colour and flavour. This is the same Maillard reaction as in the making of dulce de leche, where amino acids in milk react with sugar after an hour or two of boiling.

The New Way – Easy, Fast and Probably Just As Good

Nowadays, Kaya can be made much more quickly. A long cooking time is no longer necessary.

Coconut milk with a high fat content can be found in cans.

Refrigeration eliminates the risk of quick spoilage.

Achieving the dark brown of traditionally-made kaya, if it is important for you, can be replicated by adding caramel.

Stirring can be eliminated by cooking kaya unattended, in a water bath that uses the precise temperature control of a sous vide appliance.

I must confess that I have never tasted kaya made the traditional way, but as I like the kaya I made myself so much, I’d like to believe that it is not far from the gold standard. In any case, the marginal cost of several hours stirring in front of a stove will far outweigh any marginal gain in enjoyment.

This sous vide kaya recipe is adapted from a recipe from Grant Creative Cuisine, though I have included palm sugar and pandan leaf for flavour. The method uses only the temperature-controlled water bath of sous vide equipment and does not require vacuum packaging.

The 4 ingredients are mixed and placed in a glass jar, then the jar is sat in a preheated water bath for an hour for the kaya to set. It could not be simpler!

The quantity below fills a 70 ml jar. The recipe can be scaled up as you need; cooking time in the water bath remains the same for jars up to 300 ml. If you are making more than that, divide the mixture into 300 ml or smaller jars to ensure that the whole mixture is thoroughly cooked to the indicated temperature.

Print Pin
5 from 2 votes

Diana's Homemade Sous Vide Kaya

Prep Time 10 minutes
Cook Time 1 hour
Total Time 1 hour 10 minutes
Servings 1 70 ml jar
Author Diana Chan


  • 12.5 grams palm sugar
  • 12.5 grams sugar
  • 50 ml (full fat) coconut milk, hot
  • 1 egg yolk (20 grams)
  • Optional: 1 pandan leaf


You can omit the pandan leaf if you prefer, or add a little pandan juice (see above) to the kaya mixture instead of the leaf.


  • Place the glass jar you will use for the kaya in the sous vide water bath, and fill the bath with water to just below the jar lid.  You can remove the jar after you are assured that the water will reach the right level when your jar has been filled and placed in the bath.
  • Preheat water bath to 81°C.
  • In a glass measuring cup or a container with a pouring lip, dissolve the sugars in the hot coconut milk.
  • Add some of the hot liquid into a strained egg yolk, return all to the measuring cup or container and stir well to combine. Up to this point, it is the same sequence of steps as making custard from scratch.
  • Fold and wring the pandan leaf to help release its flavour, then cut it into 6 cm lengths and place them inside the glass jar.  Pour coconut milk mixture into the jar.  Screw the lid on until closed but not tight, to allow heated air to escape.
  • Place the jar(s) in the preheated water bath and cook for 1.5 hours.
  • Remove the jar and cool it in a pan of cold water that reaches just below the lid.
  • After the kaya has cooled, remove pandan leaf. Give the kaya a few stirs with a spoon before eating, to make the texture smooth and silky.
  • Keep the kaya in the fridge and use within one or two weeks.

Diana's Kaya-13


As this method is so simple, you can easily try variations of the recipe in different jars, as I did, and see what you like best.

From left to right:

1.    The basic recipe, using half palm sugar, half caster sugar
2.    With a pinch of salt
3.    Yolk of duck egg instead of chicken
4.    All palm sugar
5.    2 teaspoons pandan juice instead of pandan leaf

Combinations 6, 7 and 8 were made from an adaptation of a second recipe recommended to me by a Malaysian friend. This recipe uses whole eggs and egg yolks, and relies on caramel, not palm sugar, for colour and flavour. I followed my friend’s advice and used duck egg for more unctuousness. Combination 7 is the same as 4, to taste the effect of a higher proportion of egg to coconut milk. Combination 8 is a kaya with no caramel flavour; the pandan juice gives it a lovely colour.

Scaling down the ingredients in the second recipe to make a 70 ml jar: 25 grams of caster sugar, 40 ml hot coconut milk, 25 grams duck egg + 6 grams duck egg yolk, 1 pandan leaf, 5 grams caster sugar for caramel.

6.    Duck egg, no palm sugar; colour and flavour from caramelized caster sugar
7.    Duck egg and all palm sugar, no caramel
8.    Duck egg, 2 teaspoons pandan juice, no palm sugar or caramel

Both recipes can be successfully cooked on a stovetop, although you probably won’t be as tempted to make so many variations because each one will need to be cooked individually. When you have made the mixture, Instead of filling jars, place the mixture and cut pandan leaves in a metal mixing bowl.  Set the bowl over, but not touching, simmering water.  Stir continuously with a silicone spatula, scraping the bottom and sides of the bowl, until the mixture thickens.  This takes only a few minutes if you are making the given quantity for a 70 ml jar.

Save on Pinterest:

Diana Homemade Kaya Pin

Kavita: Pete and I tried all eight jars of Diana’s kaya in a taste test and we both chose the same four as our favourites: 1, 3, 4 and 6. But our top two choices were opposites – I loved 1 and 4 best, and Pete preferred 3 and 6. For both of us, the pandan ones were still good but the pandan took away from the coconut and caramel flavours which we were looking for.

Please leave a comment - I love hearing from you!
22 Comments to "Making Homemade Kaya in a Sous Vide Water Bath"

  1. Emma

    Great post! Can’t say I’ve ever tried it but it sounds right up my street! Great to have an expert showing us the ropes too 🙂

  2. kaveyeats

    I think Hong Kongers love to take onboard all the delicious recipes from around East Asia, I can see why they love kaya too!

  3. kaveyeats

    Pandan leaves? No not readily available but you can find pandan extract, and actually our personal favourites were the ones without pandan.

  4. Christie

    I’m intrigued. We used to pick up a delicious coconut spread in FL on the way home. I’m dying to try this and see if it’s the same thing.

  5. Debi

    I’ve wanted to make my own Kaya for a long time now. I have a bad habit of picking up too many cans of coconut milk at the store, and I figured this would be a delicious way of using them up. I need to try this soon!

  6. Erica Schwarz

    This is so interesting! I love how you married a western waffle with Asian dessert flavors. Looks delicious!

  7. John

    Hi Kavey,

    I just tried your recipe and it tastes great. I realised that at the 1 hour mark, the centre of my kaya mixture still looked runny, is this normal?


    Hi John
    It may be dependent on the size of jars. It sounds like the one hour time wasn’t enough for the heat to penetrate all the way to the centre. I would suggest leaving in the water bath for longer. I do this when cooking fresh food such as fish and steak, where it’s hard to know the exact time needed. Because we’ve set the temperature we want to reach, leaving the food in the water bath a little longer doesn’t cause it to overcook in the way that cooking in an oven at higher temperatures would do. I hope this helps!

  8. John

    Hi Kavey,

    I put the jars in for an additional 30 mins and it worked out just fine, thanks!


    So pleased, thank you, I’ll adjust the notes in the recipe. Really appreciate your feedback!


Please leave a comment - I love hearing from you!

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

Recipe Rating