Malaysian Cuisine
Curry Puff (Karipap)
Crisp, golden pastry parcels filled with curried potato, chicken, and a hard-boiled egg quarter
Crack through the thin, golden crust of a well-made karipap and you meet a rush of warm, curry-scented steam. Inside, soft cubes of potato and shreds of chicken are bound in a gently spiced filling, yellow from turmeric, fragrant with coriander and cumin, and interrupted by a quarter of hard-boiled egg that adds a quiet richness to each bite. The pastry is delicate and layered, not the thick, bready shell of a mass-produced puff, but something closer to a flaky pie crust that shatters when you bite into it.
Curry puffs are one of the most ubiquitous snacks in Malaysia, found at every hawker stall, roadside cart, and school canteen in the country. Their ancestry winds through multiple culinary traditions. The pastry form likely descends from the Portuguese empanada, brought to Melaka during the colonial period, while the curried filling reflects South Indian influence filtered through the Malay palate. What makes the Malaysian version distinctive is the filling itself, a drier, more potato-forward composition than the Indian samosa, with a milder spice profile that makes it approachable at any hour of the day.
The best karipap are fried fresh, and you can tell by the crust. A freshly fried curry puff has a shell that crackles audibly when you press it, with a color that ranges from pale gold to deep amber at the crimped edges. The filling inside should be moist but not wet, flavorful but not aggressively spiced. It is comfort food in the purest sense. Making them at home is a project worth sharing with friends or family. The assembly goes faster with extra hands, and the first batch from the oil, eaten standing up in the kitchen, is always the best.
At a Glance
Yield
20 pieces
Prep
1 hour
Cook
30 minutes
Total
1 hour 30 minutes
Difficulty
Medium
Ingredients
- 2⅓ cupall-purpose flour
- 1/2 tspsalt
- ⅓ cupcold butter, cut into small cubes
- 2 tbspneutral oil
- ⅓ cupice water, plus more as needed
- ¾ lbwaxy potatoes (about 2 medium) (about 2 potatoes), peeled and cut into 1 cm cubes
- 5½ ozboneless chicken breast or thigh, cut into small dice
- 1medium onion (about 120 g), finely diced
- 2 clovesgarlic, minced
- 2 tbspneutral oil
- 2 tbspcurry powder (Malaysian or Madras style)
- 1/2 tspturmeric powder
- 1 tspsugar
- 1 tspsalt, or to taste
- ¼ cupwater
- 5hard-boiled eggs, each cut into quarters
- —Neutral oil for deep frying (about 1 litre)
Method
- 1
Make the pastry. Combine the flour and salt in a large bowl. Add the cold butter cubes and rub them into the flour using your fingertips until the mixture resembles coarse breadcrumbs with some pea-sized butter pieces remaining. These uneven butter pieces are what create flakiness. Drizzle in the oil and mix lightly.
- 2
Add the ice water gradually, mixing with a fork until the dough just comes together. You may need slightly more or less water depending on humidity. The dough should hold together when pressed but not feel wet or sticky. Gather it into a flat disc, wrap in cling film, and refrigerate for at least 30 minutes.
- 3
While the pastry chills, make the filling. Boil the potato cubes in salted water until just tender, about 8 minutes. They should hold their shape when pierced with a fork. Drain well and set aside.
- 4
Heat 30 ml of oil in a skillet over medium heat. Add the onion and cook, stirring occasionally, until softened and translucent, about 3 minutes. Add the garlic and stir for 30 seconds until fragrant.
- 5
Add the curry powder and turmeric. Stir for 1 minute until the spices bloom and the raw smell fades, replaced by a warm, toasty fragrance. Add the diced chicken and cook, stirring, for 3 minutes until the chicken is cooked through and coated in the spiced onion mixture.
- 6
Add the cooked potatoes, sugar, salt, and water. Stir gently, trying not to break the potato cubes too much. Some will mash slightly, which helps bind the filling, but you want visible chunks for texture. Cook for 2 to 3 minutes until the water is absorbed and the filling is moist but not wet. Taste and adjust seasoning. The filling should be warmly spiced and well-salted. Set aside to cool completely. Warm filling melts the pastry and makes assembly difficult.
- 7
Remove the pastry from the refrigerator. Divide into 20 equal portions, about 20 g each. Roll each into a ball, then roll out on a lightly floured surface into a circle roughly 12 cm in diameter and 2 mm thick.
- 8
Place about 1 heaping tablespoon of cooled filling on one half of each pastry circle. Nestle a quarter of hard-boiled egg into the filling. Fold the other half of the pastry over to create a half-moon shape.
- 9
Seal the edges firmly by pressing with a fork, creating a decorative crimped pattern. Alternatively, fold and pinch the edge into a rope-like twist, the traditional Malaysian method. Ensure there are no gaps or air pockets, which can cause the puffs to burst during frying.
- 10
Heat the frying oil to 160C (320F) in a deep pot or fryer. The temperature should be moderate, not screaming hot, to allow the pastry to cook through and develop layers before the outside browns too quickly. Fry the curry puffs in batches of 4 to 5, turning them occasionally, for 6 to 8 minutes until evenly golden brown. The bubbling will slow and the puffs will feel light when lifted.
- 11
Remove with a slotted spoon and drain on a wire rack set over a sheet pan. Resist the urge to drain on paper towels, which traps steam against the bottom and softens the crust.
- 12
Let them cool for at least 3 minutes before eating. The filling retains heat fiercely and will burn your mouth if eaten immediately. The first bite should crackle through the pastry into the warm, fragrant, curry-scented filling, with the egg adding a creamy, mild richness at the center.
Key Ingredient Benefits
Curry powder: Malaysian curry powder typically contains turmeric, coriander, cumin, fennel, chili, and fenugreek. This combination provides curcumin from turmeric, studied for anti-inflammatory properties, and coriander, traditionally associated with digestive comfort. The blend is milder and more aromatic than South Indian curry powders, reflecting the Malaysian preference for warmth over heat.
Potatoes: A good source of potassium, vitamin C, and vitamin B6. When cooked and then cooled, potatoes develop resistant starch, a type of fiber that research suggests may benefit gut health by feeding beneficial bacteria. In the curry puff filling, the potatoes also absorb and carry the curry spice flavors effectively.
Hard-boiled eggs: Provide complete protein, choline (important for brain function), and fat-soluble vitamins A, D, and E. The egg yolk adds richness to the filling and helps bind the other ingredients slightly.
Why This Works
The pastry uses a combination of butter and oil, which serves a dual purpose. Cold butter, rubbed into the flour in uneven pieces, creates pockets of fat that melt during frying and leave behind flaky layers, the same principle behind pie crust and rough puff pastry. The oil, mixed throughout the dough, tenderizes the gluten strands and prevents the pastry from becoming tough. Together, they produce a crust that is simultaneously flaky and tender.
Frying at a moderate 160C rather than the higher temperatures used for most deep-fried foods gives the pastry time to cook through completely and develop its layered structure before the outside over-browns. At higher temperatures, the exterior sets too quickly, trapping moisture inside and resulting in a crust that looks done but feels doughy when bitten.
Cooling the filling completely before assembly is not just for convenience. Warm filling creates steam inside the sealed pastry, which weakens the seal and can cause the puffs to open during frying. Cold filling also firms up slightly, making it easier to handle and portion.
The hard-boiled egg quarter is traditional and serves more than a protein function. Its mild, creamy flavor provides a contrast to the spiced potato and chicken, creating a moment of quiet richness in each bite that keeps the filling from tasting one-dimensional.
Substitutions & Variations
Vegetarian filling: Replace the chicken with an equal weight of diced carrots and green peas. Add 1 teaspoon of garam masala for extra depth.
Sardine curry puff: Canned sardines in tomato sauce, mashed and mixed with the curried onion and potato, is a beloved Malaysian variation. Drain the sardines well before adding.
Baked version: Brush assembled curry puffs with beaten egg and bake at 190C (375F) for 20 to 25 minutes until golden. The pastry will be less flaky than the fried version but lighter.
Spiral pastry: For the more elaborate flaky pastry used by some Malaysian bakers, make a water dough and an oil dough separately, wrap the oil dough inside the water dough, and roll and fold multiple times to create defined layers before cutting into rounds.
Spice level: Add 1 to 2 finely chopped bird's eye chilies to the filling for a spicier version.
Serving Suggestions
Curry puffs are a snack food, traditionally eaten on their own at any time of day. They appear at markets, tea stalls, and family gatherings, always at room temperature or just warm, never scalding hot.
For a Malaysian tea-time spread, serve alongside other snack foods like roti jala with curry sauce, pisang goreng (fried banana fritters), and kuih (Malay cakes). A pot of teh tarik (pulled milk tea) or a glass of iced Milo completes the scene.
Curry puffs also work as an appetizer before a richer Malaysian meal. Set them out before nasi lemak or chicken rendang, where the mild curry pastry opens the palate for the deeper flavors to follow.
Storage & Reheating
Refrigerator: Store fried curry puffs in a sealed container for up to 3 days. The pastry will soften but the flavor remains good.
Freezer: Freeze uncooked, assembled curry puffs on a parchment-lined sheet pan until solid, then transfer to a freezer bag. Freeze for up to 2 months. Fry directly from frozen, adding 2 to 3 extra minutes to the cooking time and keeping the oil temperature at 150C to ensure the inside heats through.
Reheating: Place in a 180C (350F) oven for 8 to 10 minutes to restore crispness. A toaster oven works well for smaller batches. Avoid microwaving, which makes the pastry limp.
Filling ahead: The filling can be made 2 days in advance and refrigerated, making assembly day much quicker.
Nutrition Facts
Calories: 565kcal (28%)|Total Carbohydrates: 63.7g (23%)|Protein: 18.7g (37%)|Total Fat: 26.3g (34%)|Saturated Fat: 10.3g (52%)|Cholesterol: 79mg (26%)|Sodium: 622mg (27%)|Dietary Fiber: 5.6g (20%)|Total Sugars: 3.2g
You Might Also Like
Ratings & Comments
Ratings & Comments
Ratings
Share your thoughts on this recipe.
Sign in to rate and comment

