top of page

RECIPE: Malay Nyonya Curry

Nyonya cuisine is the unique fusion of Malay and Chinese cuisine found in places like Penang and Melacca, using colourful turmeric root and ruddy palm oil.

Lemon grass, fresh turmeric root, chilies and ginger buds ready to cook

Malaysian cooks use some exotic Asian ingredients – things like torch ginger buds, bright red palm oil, fresh turmeric root, candlenuts and belacan (a fermented shrimp paste). But you can find some things if you look in Asian markets, from Maggi instant belacan granules, to curry leaves (usually dried or frozen), banana leaves (often frozen), galangal, rice noodles, and jars of shrimp paste. Any oily nuts (cashews, madacamia nuts, almonds can be ground to stand in for candlenuts, a thickening agent in sauces).

Nyonya cooks also make their own coconut milk by pressing grated coconut (or buy it fresh in the markets of Penang and KL), but you can use canned coconut milk, and thick coconut cream in most Malaysian recipes.


While Malaysians may add okra, what they call lady fingers, to their curry, I have used green beans. If you can find a Malaysian meat curry powder, you can substitute it for the mixture here.

Nonya curry powder:

6 tablespoons coriander seeds

4 tablespoons cumin seeds

2 tablespoons fennel seeds

4 teaspoons black peppercorns

2 cinnamon sticks

5 cardamom pods

10 cloves

1 teaspoon ground nutmeg

3 tablespoons chili powder (medium hot to hot)

4 tablespoons turmeric powder

In a dry sauté pan, roast the whole spices, individually, until fragrant, shaking the pan to prevent scorching. Cool the spices and grind in a blender, spice mill or using a mortar and pestle. Combine the ground spices with the nutmeg, chili powder and turmeric. Set aside (the spice mixture keeps well in a covered container in a cool, dark place).


8 large shallots, peeled

2 cloves garlic

1 stalk lemon grass (white base onion, chopped)

1 teaspoon belacan (dried shrimp paste – or substitute dried belacan granules)

2 fresh red chili pepper, top and seeds removed

1 ½ pounds chicken thighs, boneless

2 tablespoons soy sauce

2 tablespoons curry powder, divided

¼ cup palm oil or canola oil

5 curry leaves (fresh or dried)

1 cinnamon stick, broken

1 can coconut milk (400 ml) plus 1 can water

5 small potatoes, peeled and halved

1 cup fresh green beans, cleaned

salt to taste

Combine the shallots, garlic, lemongrass, belacan and chili pepper in a blender or food processor and puree. Set the paste aside.

Cut the chicken into large chunks, place in a bowl and stir in the soy sauce and 1 tablespoon of the curry paste. Set aside to marinate, at room temperature, for 30 minutes.

Heat the oil over medium heat in a large pan. Add the curry leaves and cinnamon stick and sauté for 2 minutes, until fragrant. Stir in the paste and fry for 3 minutes.

Combine 1-2 tablespoons of curry powder with a bit of water to form a paste. Stir this into the pan and fry for a minute, just until fragrant, then add the chicken to the pan.

Increase the heat to medium high and sauté the chicken for 5 minutes, just until it starts to turn colour. Add the coconut milk, water and potatoes and bring to a boil.

Reduce the heat to low, partially cover, and simmer slowly for 45 minutes, until the meat is very tender and the sauce has thickened somewhat. Stir in the green beans and cook for 10 minutes longer.

Season to taste with salt and serve over plain basmati or coconut rice. Serves 4.

In Malaysia, this curry is often made with okra


bottom of page