How to Make Harm Chim Peng (Savoury Doughnuts) w/Red Bean Filling

If at first you don’t succeed, try, try again…

Harm Chim Peng (I’ve spelled the dish the way it’s pronounced in Cantonese; I don’t know of a standard spelling for it), is a type of savoury doughnut sold at street stalls back in Malaysia, and it comes in a number of different varieties – plain, spiralled, filled with sticky rice, etc. My favourite is the one with red bean paste, but I’ve never seen this particular iteration on this side of the pond.

Furthermore, the ones they do sell here in Australia (that I’ve come across) tend to be a lot stiffer, bulkier and chewier, whereas the ones I grew up eating are light and delicate.

Now, I could have sworn I’ve made harm chim peng way back in my early days with some degree of success, but this time around, it took me three tries using three different recipes before I was happy with the result.

My main takeaways from these experiments are as follows –

  1. Put away the electric dough mixer or Thermomix – hand mixing works best, and over-working the dough can actually be counter-productive
  2. Don’t add salt to the dough – it can impede the yeast’s ability to do its job
  3. Replacing yeast with baking soda (for a quick-and-easy version of this snack that a friend found on YouTube) produces a bun with a texture reminiscent of crumpets, ie. rubbery
  4. There’s really no shortcuts with this recipe; it’s actually very easy to make but you need to plan ahead and do the prep work 30 hours in advance

As I mentioned, third time’s a charm, and it was my friend and fellow ex-Serembanian Lily’s recipe that worked for me, with tweaks. Next time I make it, I’ll try to roll the dough more thinly because this latest batch was still a bit thicker and more chewy than what they sell at my favourite stall in Jalan Alor, Kuala Lumpur, but I’m definitely tracking right with Lily’s recipe.

My favourite Harm Chim Peng Stall, in Jalan Alor, Kuala Lumpur

This is my adaptation of it –

Harm Chim Peng with Red Bean Paste Filling


Starter (30 hours before) –

90g plain flour
90ml water
2 tsps vinegar

Dough –

360g bread flour
130g sugar
1 tsp bicarbonate of soda
1/2 tsp lye water (optional)

250 ml water
1/2 tsp instant yeast

Seasoning –

1/2 tsp 5 spice powder
1/2 tsp lam yue (red bean curd)
1/2 tsp oil
1/4 tsp salt


1 cup red bean paste, rolled into balls 2cm in diameter
1 TBSP sesame seeds (optional)
1 TBSP water + pastry brush
Flour for dusting
Oil for deep-frying


  1. Using a wooden spoon, mix the starter ingredients in a bowl, then cover and set aside for 24-48 hours.
  2. Add the dough ingredients to the starter and mix with a wooden spoon to combine. Cover and set aside for 20 minutes.
  3. Scrape and mix the dough, then cover again for 20 minutes – do this 3-4 times until the dough is smooth.
  4. Set aside for another 3-5 hours.
  5. Combine seasoning ingredients and mix well.
  6. Work seasoning into dough, transfer onto a floured surface and divide into 16 portions.
  7. Place a piece of red bean paste in middle of each portion of dough, cover and flatten as thinly as possible.
  8. Brush one side with a little water, then sprinkle sesame seeds and press into dough.
  9. Heat oil to 160’C and deep-fry, turning the doughnuts regularly to cook until they’re evenly golden brown in colour.
  10. Remove and serve, preferably while still warm.


Share and Enjoy !