Grandma’s Hokkien Bak Chang Recipe
Prep Time: 4 hours | Cook Time: 3 hours | Wrapping Time: 3 hours | Total Time: 10 hours | Servings: 40
This Hokkien bak chang is my grandma’s recipe. Although, my grandma is not around anymore, thankfully my aunt (who is also my godmother) still remembers how to make them. She told me they used to make huge batches every year during Dragon Boat Festival.
Our Hokkien Bak Chang is slightly different from the typical ones you may have seen. Most Hokkien bak chang have dark-coloured rice, seasoned generously with soy sauce and dark soy sauce. Ours, however, are white — we skip the dark soy sauce in the rice entirely and instead serve them with some light soy sauce after cooking. Each bak chang is filled with marinated pork belly, seasoned mushrooms, chestnuts, salted egg, mung beans, and dried shrimp.
Watch How to Make It
Equipment
Large pot for boiling the bak chang. You will also need bamboo leaves, grass water strings or kitchen strings for wrapping — these are listed under ingredients below.
Ingredients 材料
Shallot Oil 小葱头油
- 600 grams shallots 小葱头 600克
- 4 cups cooking oil 食用油 4杯
Glutinous Rice 糯米饭
- 2 kg glutinous rice 糯米 2公斤
- 2 tablespoons lard (optional) 猪油 2汤匙可选
- 2 cups shallot oil 葱油 2杯
- 1.5 teaspoons salt 盐 1.5茶匙
- 1.5 teaspoons MSG seasoning 味精调味料 1.5茶匙
Pork Belly 五花肉
- 1.2 kg pork belly (no skin) 五花肉 1.2公斤 (去皮)
Pork Belly Marinade 五花肉腌料
- 3 teaspoons five spice powder 五香粉 3茶匙
- 1/2 teaspoon salt 盐 1/2茶匙
- 2 tablespoons sugar 糖 2汤匙
- 4 tablespoons light soy sauce 生抽 4汤匙 (buy from Shopee, Lazada and Amazon)
- 1/2 teaspoon white pepper 白胡椒 1/2茶匙
- 2 tablespoons dark sweet soy sauce 甜黑酱/老抽 2汤匙
Mushrooms 香菇
- 20 dried mushrooms soaked until soft (half mushroom per bak chang) 干香菇 20个泡软 (每个粽子半个)
- 2–3 tablespoons shallot oil 葱油 2-3汤匙
- 2 tablespoons light soy sauce 生抽 2汤匙
- 1/4 teaspoon five spice powder 五香粉 1/4茶匙
Chestnuts 栗子
- 40 chestnuts 栗子 40个
- 2–3 tablespoons shallot oil 葱油 2-3汤匙
- 2 teaspoons sugar 糖 2茶匙
- 2 tablespoons light soy sauce 生抽 2汤匙
- 1/4 teaspoon five spice powder 五香粉 1/4茶匙
Other Fillings 其他馅料
- 200 grams dried shrimp 虾米 200克
- 600 grams split mung beans 去皮开边绿豆 600克
- 20 salted egg yolks (half salted egg per bak chang) 咸蛋黄20个 (每个粽子半个)
Wrapping 包粽材料
- 2 packets (300 grams) bamboo leaves about 100 leaves (2–3 leaves per bak chang) 竹叶 2包 300克 约100片 (每个粽子2-3片)
- 45 grass water strings/ kitchen strings 草水弦/ 厨弦
How to Make Grandma’s Hokkien Bak Chang
Step 1 – Day 1 Preparation
Remove the skin from the pork belly and cut into 40 pieces. Marinate with the pork belly marinade ingredients and refrigerate overnight.
Soak the mushrooms, chestnuts, bamboo leaves, and grass water strings overnight.
Step 2 – Prepare the Bamboo Leaves and Strings
On the following day, wipe the bamboo leaves to remove any dirt, wiping from head to tail (this helps prevent the cloth from getting stuck.)
Place in a pot of hot water for 15 minutes to soften. Cut off the stiff top part.
Stack the leaves to prevent drying (don’t need to wipe dry). If they dry out, soak them in water again.
Step 3 – Soak and Prepare Ingredients
Wash the mung beans until the water runs clear. Soak for 1 hour 45 minutes. Test by gently pressing them, they should easily break apart . Remove excess water.
Wash the glutinous rice until clear and soak for 30 minutes. You will notice the rice puffing up slightly. Remove excess water and set aside.
Remove the red membrane from the chestnuts and cook for 25 minutes until they break easily with a fork.
Wash the dried shrimps and soak for 10 minutes.
Remove the stems from the mushrooms and halve them.
Clean the salted eggs, extract the yolks, and cut each in half.
Thinly slice 300 grams of shallots.
Step 4 – Fry the Shallot Oil and Season the Fillings
Add 4 cups of cooking oil to a pan. Fry the shallots on medium heat until the edges turn slightly golden brown. Then reduce the heat to low and continue frying until slightly golden brown, then remove from heat. The residual heat will turn them golden brown. Do not fry until fully golden as they may become burnt from the residual heat and become bitter.
Sauté the mushrooms with 2-3 tablespoons of shallot oil until fragrant. Then add the seasoning and saute until fragrant.
Sauté the chestnuts separately with 2-3 tablespoons of shallot oil. Add seasoning and saute until fragrant.
Sauté the dried shrimps with 2-3 tablespoons of shallot oil until fragrant.
Step 5 – Season the Rice
Clean the wok. Add 2 tablespoons of lard and 2 cups of shallot oil to the hot wok.
Add the soaked glutinous rice and toss until coated. Add all rice seasoning and continue frying until fragrant. The rice will become slightly sticky.
Step 6 – Wrap the Bak Chang
Arrange all the fillings in the order they will be placed: mung beans, pork belly, salted egg yolk, mushroom, chestnut, dried shrimps, fried shallots, shallot oil.
Fold 2-3 bamboo leaves into a cone shape, smooth side facing inwards. Make sure the corners overlap to prevent rice from falling out.
Add about 1 tablespoon of rice and press tightly. Then add mung beans, one piece of meat, half of a salted egg yolk, one piece of mushroom, one chestnut, dried shrimps, fried shallots and some shallot oil. Add more mung beans and top with more rice.
Press the filling until it is compact. Gently press the sides with your thumb and index finger while using the other hand to fold the bamboo leaves. You will see a tail. Fold the tail towards you to form a pyramid shape. If the bamboo leaves are not long enough, add an extra leaf if needed. Secure tightly with grass water string or kitchen string.
Step 7 – Cook the Bak Chang
Bring a large pot of water to a boil. Gently add the dumplings and reduce to a gentle simmer — the water should only be gently bubbling to prevent the dumplings from falling out.
Cook for approximately 1 hour 45 minutes. Monitor the water level and top up with boiling water as needed to keep the dumplings fully submerged.
They are done when the rice is tender and the pork belly fat has a melt-in-the-mouth texture. Remove from the pot and allow to cool to room temperature.(note: you can remove one dumpling to test.)

Tips for the Best Hokkien Bak Chang
Wrap tightly. A loose wrap lets the bak chang falls apart while cooking. Make sure the corners overlap to prevent rice from falling out. This is the step that takes the most practice.
Keep the water at a gently simmer throughout. The water has to be gently simmering to avoid the bak chang from falling apart. Always top up with hot water, never cold — adding cold water drops the temperature and affects the cooking time.
Season and saute each filling separately. The rice, pork belly, mushrooms, and chestnuts are each seasoned on their own before wrapping. This gives each bite layers of flavour.
Use a large pot. The volume of water affects the cooking time — more water retains heat better, which can help reduce the overall cooking time.
Use one dumpling to test for doneness. Cooking time will vary depending on the size of the pot and the size of the dumplings.

Frequently Asked Questions
What is Hokkien bak chang?
Hokkien bak chang (also written as bak zhang, or zongzi 粽子 in Mandarin) is a Hokkien-style sticky rice dumpling made with seasoned glutinous rice and savoury fillings, wrapped in bamboo leaves and boiled for several hours. It is traditionally made for Dragon Boat Festival (端午节).
What is the difference between Hokkien and Cantonese bak chang?
Hokkien bak chang typically has darker, more intensely seasoned rice with fillings like pork belly, chestnuts, mushrooms, mung beans, salted egg, and dried shrimp. I’m not an expert in Cantonese Zongzi. From Woks of Life’s blog (https://thewoksoflife.com/zongzi-cantonese-style/), their Cantonese-style Zongzi has lighter-coloured rice and different fillings — including lap cheong (Chinese sausage) and peanuts without mung beans. The shape and wrapping technique also differ slightly.
Why is your family’s Hokkien bak chang white?
Most Hokkien bak chang are dark because dark soy sauce is added to the rice. My grandma never did this, and we have kept it that way ever since. Instead, we enjoy the bak chang with a little light soy sauce on the side, so we can adjust the saltiness to our own taste.
How long do you cook bak chang?
Approximately 1 hour 45 minutes over gentle simmer. The bak chang must stay fully submerged in the water throughout. Top up with hot water (not cold) whenever the water level drops. Use one dumpling to test for doneness. Cooking time will vary depending on the size of the pot and the size of the dumplings.
How do I prepare the bamboo leaves?
Soak dried bamboo leaves overnight or for at least 6 hours until soft. Wipe each leaf on both sides, then boil for 10–15 minutes. This makes the leaves pliable enough to fold. If the leaves dry out during the wrapping process, just soak them in water again until soft.
Where do I buy bamboo leaves and grass water strings?
Both are available at Asian supermarkets, especially in the weeks before Dragon Boat Festival. Chinese grocery stores usually stock them year-round. Kitchen string can be used as a substitute for grass water strings if needed.
How many pieces does this recipe make?
Approximately 40 bak chang. This is a large family batch. You can halve all the ingredients for a smaller portion of about 20.
How do you store bak chang?
Let them cool completely before storing. Keep in the fridge for up to 1 week or freeze for up to 3 months. To reheat, steam again for about 15 minutes from the fridge or 30 minutes from frozen.
If you want a smaller, easier version to start with, I have an adapted Hokkien Bak Chang recipe with adjusted quantities.
Tried this recipe? Leave a comment below and let me know how it turned out! Don’t forget to tag @ruyiasianrecipes if you share it on social media.
You Might Also Like:
Grandma’s Hokkien Bak Chang
Ingredients
Shallot Oil 小葱头油
- 600 grams shallots 小葱头 600克
- 4 cups cooking oil 食用油 4杯
Glutinous Rice 糯米饭
- 2 kg glutinous rice 糯米 2公斤
- 2 tablespoons lard (optional) 猪油 2汤匙可选
- 2 cups shallot oil 葱油 2杯
- 1.5 teaspoons salt 盐 1.5茶匙
- 1.5 teaspoons MSG seasoning 味精调味料 1.5茶匙
Pork Belly 五花肉
- 1.2 kg pork belly (no skin) 五花肉 1.2公斤 (去皮)
Pork Belly Marinade 五花肉腌料
- 3 teaspoons five spice powder 五香粉 3茶匙
- 1/2 teaspoon salt 盐 1/2茶匙
- 2 tablespoons sugar 糖 2汤匙
- 4 tablespoons light soy sauce 生抽 4汤匙
- 1/2 teaspoon white pepper 白胡椒 1/2茶匙
- 2 tablespoons dark sweet soy sauce 甜黑酱/老抽 2汤匙
Mushrooms 香菇
- 20 dried mushrooms soaked until soft (half mushroom per bak chang) 干香菇 20个泡软 (每个粽子半个)
- 2–3 tablespoons shallot oil 葱油 2-3汤匙
- 2 tablespoons light soy sauce 生抽 2汤匙
- 1/4 teaspoon five spice powder 五香粉 1/4茶匙
Chestnuts 栗子
- 40 chestnuts 栗子 40个
- 2–3 tablespoons shallot oil 葱油 2-3汤匙
- 2 teaspoons sugar 糖 2茶匙
- 2 tablespoons light soy sauce 生抽 2汤匙
- 1/4 teaspoon five spice powder 五香粉 1/4茶匙
Other Fillings 其他馅料
- 200 grams dried shrimp 虾米 200克
- 600 grams split mung beans 去皮开边绿豆 600克
- 20 salted egg yolks (half salted egg per bak chang) 咸蛋黄20个 (每个粽子半个)
Wrapping 包粽材料
- 2 packets (300 grams) bamboo leaves about 100 leaves (2–3 leaves per bak chang) 竹叶 2包 300克 约100片 (每个粽子2-3片)
- 45 grass water strings/ kitchen strings 草水弦/ 厨弦
Instructions
Step 1 – Day 1 Preparation
- Remove the skin from the pork belly and cut into 40 pieces. Marinate with the pork belly marinade ingredients and refrigerate overnight.
- Soak the mushrooms, chestnuts, bamboo leaves, and grass water strings overnight.
Step 2 – Prepare the Bamboo Leaves and Strings
- On the following day, wipe the bamboo leaves to remove any dirt, wiping from head to tail (this helps prevent the cloth from getting stuck.)
- Place in a pot of hot water for 15 minutes to soften. Cut off the stiff top part.
- Stack the leaves to prevent drying (don’t need to wipe dry). If they dry out, soak them in water again.
Step 3 – Soak and Prepare Ingredients
- Wash the mung beans until the water runs clear. Soak for 1 hour 45 minutes. Test by gently pressing them, they should easily break apart . Remove excess water.
- Wash the glutinous rice until clear and soak for 30 minutes. You will notice the rice puffing up slightly. Remove excess water and set aside.
- Remove the red membrane from the chestnuts and cook for 25 minutes until they break easily with a fork.
- Wash the dried shrimps and soak for 10 minutes.
- Remove the stems from the mushrooms and halve them.
- Clean the salted eggs, extract the yolks, and cut each in half.
- Thinly slice 300 grams of shallots.
Step 4 – Fry the Shallot Oil and Season the Fillings
- Add 4 cups of cooking oil to a pan. Fry the shallots on medium heat until the edges turn slightly golden brown. Then reduce the heat to low and continue frying until slightly golden brown, then remove from heat. The residual heat will turn them golden brown. Do not fry until fully golden as they may become burnt from the residual heat and become bitter.
- Sauté the mushrooms with 2-3 tablespoons of shallot oil until fragrant. Then add the seasoning and saute until fragrant.
- Sauté the chestnuts separately with 2-3 tablespoons of shallot oil. Add seasoning and saute until fragrant.
- Sauté the dried shrimps with 2-3 tablespoons of shallot oil until fragrant.
Step 5 – Season the Rice
- Clean the wok. Add 2 tablespoons of lard and 2 cups of shallot oil to the hot wok.
- Add the soaked glutinous rice and toss until coated. Add all rice seasoning and continue frying until fragrant. The rice will become slightly sticky.
Step 6 – Wrap the Bak Chang
- Arrange all the fillings in the order they will be placed: mung beans, pork belly, salted egg yolk, mushroom, chestnut, dried shrimps, fried shallots, shallot oil.
- Fold 2-3 bamboo leaves into a cone shape, smooth side facing inwards. Make sure the corners overlap to prevent rice from falling out.
- Add about 1 tablespoon of rice and press tightly. Then add mung beans, one piece of meat, half of a salted egg yolk, one piece of mushroom, one chestnut, dried shrimps, fried shallots and some shallot oil. Add more mung beans and top with more rice.
- Press the filling until it is compact. Gently press the sides with your thumb and index finger while using the other hand to fold the bamboo leaves. You will see a tail. Fold the tail towards you to form a pyramid shape. If the bamboo leaves are not long enough, add an extra leaf if needed. Secure tightly with grass water string or kitchen string.
Step 7 – Cook the Bak Chang
- Bring a large pot of water to a boil. Gently add the dumplings and reduce to a gentle simmer — the water should only be gently bubbling to prevent the dumplings from falling out.
- Cook for approximately 1 hour 45 minutes. Monitor the water level and top up with boiling water as needed to keep the dumplings fully submerged.
- They are done when the rice is tender and the pork belly fat has a melt-in-the-mouth texture. Remove from the pot and allow to cool to room temperature.(note: you can remove one dumpling to test.)
Video
Notes
- Wrap tightly. A loose wrap lets the bak chang falls apart while cooking. Make sure the corners overlap to prevent rice from falling out. This is the step that takes the most practice. Keep the water at a gently simmer throughout. The water has to be gently simmering to avoid the bak chang from falling apart. Always top up with hot water, never cold — adding cold water drops the temperature and affects the cooking time. Season and saute each filling separately. The rice, pork belly, mushrooms, and chestnuts are each seasoned on their own before wrapping. This gives each bite layers of flavour. Use a large pot. The volume of water affects the cooking time — more water retains heat better, which can help reduce the overall cooking time. Use one dumpling to test for doneness. Cooking time will vary depending on the size of the pot and the size of the dumplings.
