Roti Canai and Fish Curry

Category: Satisfying Main Courses for Every Occasion

Discover the essence of Malaysian comfort food with golden, flaky roti canai served alongside aromatic fish curry. Soft dough is rested, stretched paper-thin, then pan-cooked with ghee until crisp and fluffy. The curry features tender fish simmered in a coconut-based sauce with warming spices, tamarind, and fresh curry leaves, creating a balance of creamy, tangy, and gently spicy flavors. Enjoy this pairing dipped, torn, or eaten together for a satisfying meal that brings a taste of Malaysia’s vibrant street stalls into your kitchen.

Loura is a chef and she is standing in front of a table full of fruits and vegetables.
Updated on Sat, 14 Jun 2025 08:37:44 GMT
A plate of food with a bowl of sauce. Save
A plate of food with a bowl of sauce. | recipesfoodyummy.com

Roti Canai with Malaysian Fish Curry is pure comfort food layered with memories and flavors. Flaky flatbread sops up a vibrant fish curry that manages to be both creamy and tangy The result turns a simple meal into something celebratory and nourishing

I grew up watching my father flip and stretch the dough at the kitchen counter He swore that patience—and good music—made each bite taste better I can say after years of making this that he was absolutely right

Ingredients

  • All purpose flour: gives the roti structure Ensure you use unbleached flour for the best flavor
  • Salt: brings out the flavors in both bread and curry Choose fine sea salt for better distribution
  • Sugar: adds a subtle sweetness which balances the curry Heat and bread
  • Condensed milk: gives a soft tender crumb and richer taste Choose full fat for the silkiest dough
  • Ghee or melted butter: imparts nutty depth Try to source authentic ghee for traditional aroma
  • Warm water: helps bind the dough and makes it easier to knead You want the water just warm to the touch never hot
  • Vegetable oil: coats each dough ball and preserves softness Light refined oil works best to avoid overpowering flavors
  • Fish steaks: deliver bold flavor Mackerel or snapper are classic but any firm white fish works best Select fish steaks with even thickness for even cooking
  • Fish curry powder: is the flavor backbone Pick a Malaysian or Singaporean brand for most authentic taste
  • Coconut milk: gives body and creaminess Use full fat canned coconut milk for rich results
  • Tamarind paste: adds gentle sourness Choose a soft paste without seeds for easier dissolving
  • Curry leaves: bring signature aroma and earthiness Always use fresh if possible for the most fragrance
  • Fresh tomato: helps balance richness with slight acidity Choose ripe not overripe tomatoes
  • Onion garlic ginger: provide that essential curry base Look for onions with tight skin and ginger that snaps when bent

Step-by-Step Instructions

Make the Dough:
In a large bowl add flour salt sugar condensed milk and ghee Pour in warm water little by little while mixing by hand Knead for ten minutes until the dough becomes silky and elastic The longer you knead the flakier your final roti
Rest the Dough:
Divide dough into four to six balls Rub each ball generously with vegetable oil so it remains moist Place into a covered container or dish Wrap tightly and rest for at least four hours or overnight This lets the gluten relax so you can stretch the dough paper thin
Stretch and Fold:
Grease a wide surface with oil Flatten each ball gently with your palm Use fingertips to slowly stretch the dough outwards in all directions Patience is key The dough should be so thin you could nearly see through it Fold the edges in to make a square or carefully swirl into a round shape
Cook the Roti:
Heat a pan or skillet on medium Add a dab of ghee or oil When hot place the roti on and cook for two to three minutes per side It will puff and turn golden Spot press with a spatula for deep flakes Remove and lightly clap between your hands to fluff up the layers
Start the Fish Curry Base:
In a heavy pot heat oil over medium Add sliced onion minced garlic and ginger plus fresh curry leaves Sauté gently until aromatic and golden brown about four minutes This step builds a rich curry base
Layer Flavors:
Stir in curry powder and cook for one minute to toast the spices Add chopped tomato tamarind paste coconut milk and water Mix gently so the paste dissolves Bring mixture to a gentle boil
Simmer the Curry:
Lower heat and simmer for ten minutes This lets the sauce thicken and flavors deepen You will see oil start to separate at the edges
Cook the Fish:
Add the fish steaks carefully making sure they are just submerged Simmer gently for seven to ten minutes until the fish flakes easily but is still moist Taste and season with salt
A plate of food with a sauce and a bowl of food. Save
A plate of food with a sauce and a bowl of food. | recipesfoodyummy.com

The touch of condensed milk was my mother’s trick and I have yet to taste a roti as soft anywhere else My kids love breaking the bread with their fingers before dragging it through the curry—those little quiet moments around the table mean everything to me

Storage Tips

Keep leftover roti wrapped in a clean towel inside an airtight container at room temperature for one day For longer storage refrigerate and reheat on a skillet or open flame until soft For fish curry let cool completely and store in a sealed container in the fridge up to three days or freeze for a month

Ingredient Substitutions

If you cannot find ghee any good quality unsalted butter will substitute well For coconut milk oat or cashew cream provides a dairy free creamy texture Almost any firm fish such as tilapia or grouper can be used if mackerel or snapper are unavailable

Serving Suggestions

Serve roti canai warm torn and dipped straight into the fish curry Add pickled onions or cucumber salad to brighten the meal You can also spoon curry over freshly steamed jasmine rice for variety

Cultural and Historical Context

Roti canai traces back to Indian influence in Malaysia becoming a beloved street food It is prized for its flaky layers and often eaten at breakfast or as a snack The fish curry version is a staple in many coastal Malay homes bringing together both Indian and Malay flavors

Recipe FAQs

→ What flour works best for roti canai?

All-purpose flour gives the ideal balance of stretch and softness for roti canai, producing a tender texture.

→ Why rest the dough for several hours?

Resting allows gluten to relax, making it easier to stretch the dough thinly and resulting in flakier, softer flatbread.

→ Can other fish be used in the curry?

Yes, firm fish such as snapper, mackerel, or cod hold up well in the coconut curry and absorb flavors nicely.

→ How do you get flaky layers in roti?

Stretch the dough as thin as possible, fold it, and cook at high heat. Pressing after cooking helps fluff up layers.

→ Is coconut milk essential for the fish curry?

Coconut milk provides richness and balances the spices, giving the curry its signature creamy texture and mild heat.

→ What are good side dishes for this meal?

Pair with pickled onions, cucumber salad, or sambal to complement the roti and curry's rich flavors.

Roti Canai with Fish Curry

Crisp flatbread meets spicy fish curry for a comforting Malaysian-inspired meal.

Prep Time
25 mins
Cooking Time
35 mins
Total Duration
60 mins
By: Loura

Recipe Type: Main Dishes

Skill Level: Intermediate

Cuisine: Malaysian

Portions Yielded: 4 Serving Size (4 to 6 flatbreads and 2 portions fish curry)

Dietary Preferences: ~

What You'll Need

→ Roti Canai

01 250 g all-purpose flour
02 1 teaspoon salt
03 1 teaspoon sugar
04 2 tablespoons condensed milk
05 1 tablespoon ghee or melted butter
06 180 ml warm water
07 3 tablespoons vegetable oil, for coating

→ Fish Curry

08 2 fish steaks (such as mackerel or snapper)
09 2 tablespoons fish curry powder
10 250 ml coconut milk
11 480 ml water
12 1 tablespoon tamarind paste
13 2 tablespoons vegetable oil
14 1 onion, sliced
15 2 cloves garlic, minced
16 2.5 cm fresh ginger, minced
17 1 tomato, chopped
18 2 sprigs curry leaves
19 Salt, to taste

Steps To Follow

Step 01

Combine all-purpose flour, salt, sugar, condensed milk, and ghee in a large bowl. Gradually incorporate warm water while kneading until a soft, elastic dough develops, approximately 10 minutes.

Step 02

Separate dough into 4 to 6 equal portions. Coat each portion with vegetable oil and transfer to a container. Cover with plastic wrap and allow to rest for at least 4 hours or overnight to relax the gluten.

Step 03

On a lightly oiled work surface, flatten each dough ball gently. Stretch into a thin sheet, then fold the edges inward to create a square or gently coil into a circular shape.

Step 04

Heat a pan over medium heat and add a small amount of ghee or oil. Fry each flatbread until golden brown and crisp on both sides, then gently press after cooking to achieve airiness.

Step 05

In a saucepan, heat oil over medium heat. Add sliced onion, minced garlic, ginger, and curry leaves. Sauté until aromatic and softened.

Step 06

Add fish curry powder to the pan and stir for 1 minute. Incorporate chopped tomato, tamarind paste, water, and coconut milk. Mix thoroughly.

Step 07

Bring mixture to a boil, then reduce heat to low and simmer for 10 minutes to blend the flavors.

Step 08

Gently submerge fish steaks into the simmering curry. Cook on low heat until the fish is opaque and cooked through, about 7 to 10 minutes. Adjust seasoning with salt.

Notes and Tips

  1. Allowing the dough to rest overnight creates a more supple and stretchable texture for the flatbread.
  2. Use full-fat coconut milk for a richer and creamier curry sauce.

Required Equipment

  • Large mixing bowl
  • Non-stick frying pan
  • Container with lid or plastic wrap
  • Cooking spatula
  • Medium saucepan

Allergy Info

Double-check every ingredient for possible allergens and consult a health professional if you're unsure.
  • Contains gluten from all-purpose flour.
  • Includes dairy from condensed milk and ghee.
  • Fish included in main curry.

Nutritional Info (per serving)

These details are for informational purposes only and shouldn't replace medical advice.
  • Caloric Content: 540
  • Fats: 19 g
  • Carbohydrates: 64 g
  • Proteins: 27 g