
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

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.