Curry puffs (or karipap) are one of Malaysia’s most popular snacks. They are crispy and flaky on the outside, with a fragrant, savory curry filling on the inside. It’s the kind of street food that instantly brings back memories of sitting in a kopitiam or browsing roadside stalls at the night market.
This curry puff recipe is especially meaningful to me because it’s the same one we used at our former restaurant. Our customers loved them for their rich chicken and potato filling and those beautiful flaky layers. Today, I’m excited to share the full recipe so you can recreate these curry puffs right in your own kitchen.

Note: This post may contain affiliate links. Please read my privacy policy for more info. I may receive commissions for purchases made through links in this post. As an Amazon Associate, I earn from qualifying purchases.
Why This Curry Puff Recipe Is Special
I know there are many recipes out there for Malaysian curry puffs, but ours is a time-tested version with an exceptionally flaky pastry.
- Flaky, layered pastry: We use a water dough and an oil dough to make the pastry. When they’re combined and folded properly, they create flaky and visible layers.
- Restaurant-tested filling: Our savory filling of chicken, potatoes, and peas is seasoned with authentic Malaysian curry powder, lemongrass, ginger, and a gentle touch of chili.
- Clean, no-mess method: With plastic sheets, we avoid sticky hands and messy countertops, something many people worry about when making pastry from scratch.
- Built for production: This recipe scales easily, freezes well, and fries beautifully. It is exactly how we needed it when we were running the restaurant, and for your parties.
Part 1: How to Prepare the Curry Puff Filling
The filling is the heart of a good curry puff. It must be fragrant, well-seasoned, moist but not watery, and firm enough to hold its shape when wrapped.
1. Prepare All Ingredients.
- Onions: Chop into small, uniform pieces so they soften quickly.
- Lemongrass: Use only the white part and mince finely. Coarse lemongrass makes the filling fibrous.
- Ginger: Chop finely.
- Red chili: Slice thinly or chop. Remove the seeds and pith if you want to reduce the spiciness.
- Chicken breast: Dice into small cubes (~0.5 cm). Small pieces cook quickly and absorb seasoning better.
- Potatoes: Cut them small as well, around the size of the chicken.
2. Heat the Oil and Sauté the Ingredients
- Heat the vegetable oil in a wok or deep pan over medium heat.
- Add the lemongrass and ginger and sauté briefly over medium heat, then add the red chili and onion. Continue sautéing for about 3 minutes, or until the onion turns translucent and soft. You should smell a strong, citrusy aroma from the lemongrass. This is what gives your curry puff its signature Malaysian fragrance.
- Add the curry powder and chili powder to the pan. Stir continuously for 30–40 seconds. If needed, add 1–2 teaspoons of oil to bloom the spices and release their aroma.
- Add the diced chicken breast. Stir well so every piece is coated with the spices. Cook until the chicken turns opaque, about 2–3 minutes.
- Add the potatoes, light soy sauce, sugar, salt, and a splash of water. Cover and simmer on low heat until the potatoes are soft and the mixture thickens into a paste. (Avoid leaving too much liquid, as a wet filling can leak when frying.
3. Finish and let it cool
- Once most of the liquid has evaporated and the potatoes are tender, add the green peas.
- Taste and adjust the seasoning as needed.
- Let the filling cool completely to room temperature before wrapping. If preparing ahead, refrigerate for at least 1 hour, as chilled filling is easier to wrap!

Part 2: How to Make the Curry Puff Dough
The pastry is what makes the Malaysian curry puff truly special. Our Malaysian-style curry puff uses two doughs: a water dough and an oil dough. When combined, they create a delicate, flaky pastry with distinct layers. This section will show you how to prepare both doughs and get them ready for wrapping.
I know it can be a bit tricky to explain the process in words, so I’ve made a video while developing this recipe! (The link to my YouTube video is right before the recipe card below.)
1. Making the Oil Dough
There are only two ingredients needed to make the oil dough. flour and oil. For the oil, I’m using butter today, but you can use any other type of oil, and the result will be quite similar. You can also use margarine, shortening, or even lard.
In the restaurant, we use a food processor to mix the dough, but at home, it’s easier to just use your hands. What I normally do is cut the butter into small cubes and place them into a mixing bowl. Then I add about 90% of the flour and mix it together with the butter. The reason is that, depending on the quality of the flour, you may need a little more or a little less. The right amount of flour is when the flour and oil come together and form a dough.
The dough should be soft and pliable so it won’t easily break through the water dough layer later when rolling out the pastry.
2. Making the Water Dough
Next, we need to make the water dough, which requires more ingredients. Besides the oil and flour, we also add some salt, sugar, and of course, water to bring everything together.
The method is quite similar to the oil dough. First, put all the ingredients (except the water) into a large mixing bowl, and mix them by hand. After that, add about 80% of the water listed in the recipe. This is because we don’t want the dough to become too soft, which would make it difficult to handle. If the dough feels too dry and not stretchable, then slowly add the remaining water. Knead the dough until it becomes smooth and pliable.
After that, keep the dough in the refrigerator for about 20 minutes to let it relax before using it to wrap the oil dough inside.
3. Wrap, Fold, Roll & Portion Dough for Spiral Curry Puffs
Now it’s time to combine the oil dough and the water dough. Wrap the oil dough inside the water dough and then fold it several times to create the layers.
First, place a plastic sheet on top of the pastry mat. Next, put the water dough on top, and then another piece of plastic sheet on top. Then roll out the water dough into a large round shape, remove the top plastic sheet, and place the oil dough in the center. After that, fold the water dough up to seal the oil dough inside. I use the plastic sheet to cover the dough before rolling it out because the dough won’t stick to the plastic sheet.
After that, I roll out the combined dough with a rolling pin and my hands until it becomes a thin rectangle. Then I remove the plastic sheet on top and use the bottom plastic sheet to help roll up the dough, just like making a Swiss roll. Since I’m holding the plastic to roll it up, I don’t need to touch the dough directly.
When the dough is rolled up, wrap it with the plastic sheet and place it in the refrigerator for 20 minutes to chill and relax. After that, take it out and repeat the same rolling process two more times (roll it into a rectangle, then roll it up again into a Swiss roll).
The final step is to roll the dough into a long, slim cylinder, like a thinner Swiss roll, so it’s easier to cut into small portions afterward.

4. Fill, Wrap & Shape Your Curry Puffs
After the final roll, shape the dough into a long cylinder so it’s easier to cut it into multiple small portions, with each portion meant for one curry puff. Let the dough rest in the refrigerator for at least an hour, or until it firms up. Then use a dough cutter to divide it into portions. How much each piece weighs really depends on the size of the curry puff you want.
Next, use your hands to flatten each portion slightly, then use a rolling pin to roll it out into a round disk that’s just a bit larger than your curry puff mold. Place the dough onto the mold and press it gently so it adheres to the mold properly. Add your filling. The amount depends on how full you like your curry puffs
Close the mold and press firmly to crimp the edges, then trim off any excess dough around the outside. Open the mold, remove the curry puff, and you’ll have a beautifully shaped curry puff all ready for frying!

Part 3: How to Deep-Fry the Curry Puffs
This is the final and most satisfying step, turning the beautifully wrapped curry puffs into crispy, golden pastries with those irresistible flaky layers.
- Heat enough oil in a deep skillet or wok so the curry puffs can float freely. (We use an electric deep fryer in the restaurant.) Aim for medium heat, 170°C. If the oil is too hot, the outside browns too quickly while the inside stays doughy.
- Do not overcrowd the pan. Fry in small batches for even cooking.
- Fry slowly over medium heat, turning occasionally, until the curry puffs turn golden brown and crispy. This usually takes around 6 minutes, depending on size.
- Once ready, remove and place on a wire rack or paper towels to drain excess oil.
- Let them cool slightly before serving, as the filling is very hot inside.
🎞️Below is the video showing the entire process of making curry puffs. Please click here or the image below to watch it on my YouTube channel. 👇👇

How to Make Perfect Flaky Curry Puffs
Crispy, flaky Malaysian curry puffs made easy. Follow this step-by-step guide for great texture and authentic flavor.
Ingredients
Ingredients for the filling
- 1 tbsp vegetable oil
- 1 medium-sized onion
- 2 tbsp Malaysian curry powder
- 2 tsp chili powder
- 2 tsp light soy sauce
- 125g chicken breast meat
- 125g potato
- 1 tsp sugar
- 1 tsp salt
- 1/3 cup water
- 30g green peas
- 2 stalks lemongrass
- 2 red chilies
- 1 tsp chopped ginger
Ingredients for oil dough
- 120g regular flour (or just enough to bind the butter)
- 80g butter
Ingredients for water dough
- 210g regular flour
- 45g butter
- 20g sugar
- 1/4 tsp salt
- 110ml water (quantity might vary slightly according to the type of flour)
Instructions
Part 1: Prepare the Curry Puff Filling
- Prep Ingredients: Finely chop onion, lemongrass (white part only), ginger, and chili. Dice chicken and potatoes into small, even cubes.
- Sauté Aromatics: Heat oil over medium. Add lemongrass and ginger, then chili and onion. Cook until soft and fragrant.
- Add Spices: Stir in curry powder and chili powder for 30–40 seconds.
- Cook Filling: Add chicken and coat well with spices. Add potatoes, soy sauce, sugar, salt, and a splash of water. Cover and simmer until potatoes are tender and the mixture thickens into a paste.
Part 2: How to Make the Curry Puff Dough
- Make the Oil Dough. Mix flour and butter/oil until a soft, pliable dough forms.
- Make the Water Dough. Combine dry ingredients, then add water and knead until smooth. Chill for 20 minutes.
- Wrap, Roll & Create Layers. Roll the water dough into a circle and wrap it around the oil dough. Roll into a rectangle, then roll up like a Swiss roll. Chill 20 minutes. Repeat the roll-and-roll-up process two more times to form layers. Finally, shape into a long cylinder.
- Portion, Fill & Shape. Chill the cylinder for 1 hour, then cut it into portions. Flatten and roll each piece into a thin round. Place on a curry puff mold, add filling, close firmly to seal and crimp, then remove from the mold. Each piece is now ready to be fried.
Part 3: How to Deep-Fry the Curry Puffs
- Heat oil in a deep pan or fryer to about 170°C. Fry a few curry puffs at a time so they cook evenly. Turn them occasionally and fry over medium heat until golden and crispy (about 6 minutes).
- Remove and drain on a wire rack or paper towels. Let them cool slightly before serving, as the filling will be very hot.
Notes
Please refer to the text of this article and the video for detailed instructions.
Recommended Products
As an Amazon Associate and member of other affiliate programs, I earn from qualifying purchases.
-
Rolling Pin & Silicon Pastry Mat,Silicone Large Pastry Mat With 19.6" x 15.7",Dough Roller Sleek and Sturdy 11.8" Perfect Match -
PrepWorks 3pc Dough Press Set – Set of 3 Pie, Empanada, and Dumpling Presses, Easy-to-Use, Durable, BPA-Free -
MICHELANGELO 12 Inch Granite Frying Pan Nonstick, Ultra Nonstick Frying Pans with Non toxic Stone Coating, Nonstick Skillet with Lid, Granite Rock Pan 12 Inch, Ceramic Induction Skillet - Blue -
BABA Meat Curry Powder 500g - 17.64oz
Nutrition Information:
Yield: 16 Serving Size: 1Amount Per Serving: Calories: 252Total Fat: 13gSaturated Fat: 6gUnsaturated Fat: 7gCholesterol: 37mgSodium: 483mgCarbohydrates: 25gFiber: 2gSugar: 3gProtein: 9g
This data was provided and calculated by Nutritionix on 11/26/2025
Essential Tips for Making Perfect Malaysian Curry Puffs
Before you start shaping and frying, keep these important tips in mind. They will help you handle the dough more easily, maintain clean layers, and achieve consistently excellent curry puffs.
1. Tips for Handling the Dough
- Balance the flour and fat in the oil dough. Use just enough flour to form the oil dough. If it feels too dry or crumbly, add more fat (shortening, lard, butter, or vegetable oil) slightly until the dough comes together smoothly.
- Make sure the water dough is soft and pliable. It should not be too dry (which causes cracking) or too wet (which makes it hard to handle). If it feels dry after kneading, add a touch of water; if it’s too wet, sprinkle a bit more flour at the end.
- Use a plastic sheet for rolling. Placing a plastic sheet over a pastry mat prevents the dough from sticking and keeps your hands clean. It also reduces heat transfer from your hands, which helps maintain clear dough layers.
- Shape the dough with your hands first, then use a rolling pin.
It is easier to flatten the dough with your hands initially to form a rough rectangle. Once it’s spread out, use a rolling pin to achieve an even thickness.
2. Tips for Filling and Sealing
- Cool the filling completely before wrapping. Warm filling softens the dough and creates steam, which can make the curry puffs burst during frying.
- Avoid overfilling. Too much filling makes sealing difficult and increases the risk of leaks.
- Leave a 1–1.5 cm border for sealing. A proper border ensures a tight, secure edge that won’t open during frying.
- Seal and crimp the edges firmly. This prevents oil from seeping in and keeps the filling intact. A curry puff mold is very convenient (and widely used in restaurants), but hand-pleating works well too. It just takes a little more time.
- Keep unused dough covered at all times. Dough exposed to air dries quickly and may crack while rolling or sealing.
3. Tips for Frying
- Fry over medium-low heat (160°C–170°C). Slow frying allows the layers to separate and crisp without burning.
- Do not overcrowd the pot. Too many pieces at once lowers the oil temperature and creates soggy pastry.
There is nothing quite like the joy of making curry puffs at home and receiving compliments from friends and family. The satisfaction of creating each flaky layer and flavorful filling by hand makes them taste even better than anything you can buy at a hawker stall or restaurant. It’s the kind of recipe that rewards effort with a deep sense of achievement.
Now it’s your turn to give it a try at home. I’d be delighted to hear how yours turn out. Please share your experience in the comments, and I hope you enjoy every bite of your hard work.

J choo
Friday 28th of November 2025
Can I use oven instead of frying.
KP Kwan
Saturday 29th of November 2025
Yes, it can be baked, but I’ve tried it before and the texture isn’t as flaky or as light as when it’s deep-fried.
Ted
Wednesday 26th of November 2025
can these curry puffs be cooked in the oven?
KP Kwan
Saturday 29th of November 2025
Yes, it can be baked, but I’ve tried it before and the texture isn’t as flaky or as light as when it’s deep-fried.
Yoke Peng
Wednesday 26th of November 2025
Hi KP Kwan,
Instead of deep frying the curry puffs, would it be just as good to bake them?
i have used store bought puff pastry and i've baked them. i freeze them for later
reheating in the oven.
Thanks, Yoke Peng
KP Kwan
Saturday 29th of November 2025
Yes, it can be baked, but I’ve tried it before and the texture isn’t as flaky or as light as when it’s deep-fried.
KP
Wednesday 26th of November 2025
Hi, this is KP Kwan. I’m delighted to see you here in the comment section after reading my recipe. I’ll be happy to answer any questions or comments as soon as possible.