Roti Canai (Roti Canai) — Flaky Malaysian Griddle Flatbread
Roti canai is a beloved Malaysian mamak-stall flatbread with South Indian Muslim roots. The dough is enriched, rested in oil, stretched paper-thin, coiled, and griddled until flaky, then served with dhal or curry.

Printable Recipe Card
Servings: 6 · Total: 330 min · Difficulty: medium
Ingredients (quick list)
- 500 g bread flour
- 8 g fine sea salt
- 12 g granulated sugar
- 1 egg
- 30 g sweetened condensed milk
- 250 ml warm water (about 38°C)
- 90 ml neutral oil (for coating and resting the dough; some will remain unused)
- 60 g ghee (melted, for laminating and griddling)
- 180 g red lentils
- 600 ml water
- 1 tsp ground turmeric
- 1 yellow onion (finely sliced)
+ 9 more in the full ingredients section below.
Steps (summary)
- Make the dough by whisking the egg, condensed milk, warm water, salt, and sugar in a measuring jug until smooth. Put the bread…
- Knead the dough for 10 minutes by hand or 7 minutes on low speed until it becomes smooth, elastic, and slightly tacky rather th…
- Divide the dough into 6 equal balls of about 133 g each, using a scale for even cooking. Coat a shallow tray with part of the n…
- Meanwhile, make the dhal curry by rinsing the red lentils until the water runs mostly clear. Combine the lentils, 600 ml water,…
- Heat 2 tbsp neutral oil in a small pan over medium heat and add the mustard seeds. When they begin to pop, add the onion, garli…
- Stir the coriander, cumin, and chili powder into the onion mixture for 30 seconds to bloom the spices without burning them. Add…
+ 4 more steps in the full instructions section below.
Cultural Background
Roti canai is a defining Malaysian mamak dish, shaped by Tamil Muslim cooking and everyday urban breakfast culture. It is eaten across communities at kopitiams, roadside stalls, and late-night restaurants.
Equipment
💡 Tips
- A long oil rest is essential because it relaxes the gluten enough for the dough to stretch paper-thin without snapping.
- Use bread flour rather than soft cake flour for better elasticity and the signature chewy-flaky bite.
- Keep the griddle at medium heat; too hot will burn the ghee before the inside layers cook.
⚠️ Common Mistakes
❌ Stretching the dough before it has rested long enough.
✅ Fix: Rest the oiled dough balls for the full 4 hours so the gluten relaxes and the sheet stretches thinly.
❌ Using too much flour on the work surface.
✅ Fix: Use oil instead of flour, because flour toughens the surface and prevents the layers from separating.
❌ Cooking over very high heat.
✅ Fix: Use medium heat so the exterior browns while the inner folds steam and cook through.
🧊 How to Store
Store cooked roti in an airtight container in the refrigerator for up to 2 days, with parchment between pieces. Reheat on a dry skillet over medium heat for 1 to 2 minutes per side; microwave reheating softens the layers.
📅 Make Ahead
The dough balls can be oiled, covered, and refrigerated for up to 18 hours after the first room-temperature rest. Bring them back to room temperature for 60 minutes before stretching.
🍽️ Pairs Well With
- Dhal curry
- chicken curry
- fish curry
- sambal
- teh tarik.
Regional Variations
- Roti telur adds a beaten egg inside the folded dough before griddling.
- Roti bawang folds finely chopped onion into the dough for a savory mamak-stall variation.
- Roti tisu is stretched extra thin, cooked crisp, and often served tall with sugar or condensed milk.
- Roti banjir is cut or torn and flooded with dhal, curry, and sambal before serving.
Ingredients
- 500 gbread flour
- 8 gfine sea salt
- 12 ggranulated sugar
- 1egg
- 30 gsweetened condensed milk
- 250 mlwarm water (about 38°C)
- 90 mlneutral oil (for coating and resting the dough; some will remain unused)
- 60 gghee (melted, for laminating and griddling)
- 180 gred lentils
- 600 mlwater
- 1 tspground turmeric
- 1yellow onion (finely sliced)
- 3 clovegarlic (minced)
- 1 inchfresh ginger (finely grated)
- 10 leaffresh curry leaves
- 1 tspblack mustard seeds
- 1.5 tspground coriander
- 1 tspground cumin
- 0.5 tspchili powder
- 1tomato (finely chopped)
- 120 mlcoconut milk
🔄 Substitutions
- ghee→ unsalted butter
- sweetened condensed milk→ evaporated milk plus 8 g sugar
- fresh curry leaves→ dried curry leaves
Instructions
- 1
Make the dough by whisking the egg, condensed milk, warm water, salt, and sugar in a measuring jug until smooth. Put the bread flour in a large bowl, pour in the liquid, and mix with your hand or a dough hook until no dry flour remains.
- 2
Knead the dough for 10 minutes by hand or 7 minutes on low speed until it becomes smooth, elastic, and slightly tacky rather than wet. Cover the bowl and rest the dough for 20 minutes so the flour hydrates and the gluten relaxes.
- 3
Divide the dough into 6 equal balls of about 133 g each, using a scale for even cooking. Coat a shallow tray with part of the neutral oil, roll each dough ball in the oil, cover tightly, and rest at room temperature for 4 hours.
- 4
Meanwhile, make the dhal curry by rinsing the red lentils until the water runs mostly clear. Combine the lentils, 600 ml water, turmeric, and 6 g salt in a saucepan, then simmer for 20 to 25 minutes until the lentils collapse into a soft puree.
- 5
Heat 2 tbsp neutral oil in a small pan over medium heat and add the mustard seeds. When they begin to pop, add the onion, garlic, ginger, and curry leaves, then cook for 6 minutes until fragrant and lightly golden.
- 6
Stir the coriander, cumin, and chili powder into the onion mixture for 30 seconds to bloom the spices without burning them. Add the chopped tomato and cook for 4 minutes, then scrape everything into the lentils with the coconut milk and simmer for 5 minutes.
- 7
Lightly oil a wide work surface and place one rested dough ball in the center. Press it flat, then stretch it outward with oiled palms until it is nearly translucent and about 45 cm across, patching small tears by overlapping the dough.
- 8
Brush the stretched sheet with melted ghee, then fold the edges inward to form a long rectangle. Coil the rectangle into a loose spiral, tuck the end underneath, and let it rest for 10 minutes while you shape the remaining dough balls.
- 9
Heat a heavy griddle or cast-iron skillet over medium heat until a drop of water sizzles quickly. Flatten one coil into a 16 cm round, brush the pan with ghee, and cook the roti for 2 to 3 minutes per side until blistered, golden, and cooked through.
- 10
Clap the hot roti gently between your hands or two spatulas to loosen the layers and make it flaky. Serve immediately with warm dhal curry, because roti canai is at its best while the edges are crisp and the center is soft.
🪪 Recipe Passport
Cultural Background
Roti canai is a defining Malaysian mamak dish, shaped by Tamil Muslim cooking and everyday urban breakfast culture. It is eaten across communities at kopitiams, roadside stalls, and late-night restaurants.
Regional Variations
Researched from multiple sources and validated by the Zaffaron editorial team. Every recipe is tested for accuracy, measurements, and cultural authenticity.
📚 Sources & Cultural References
- Wendy Hutton — The Food of Malaysia — (2005)
- Alan Davidson — The Oxford Companion to Food — (2014)
Sources cited by the Zaffaron editorial team during recipe research. Cultural and culinary references supporting authenticity claims.
Nutrition per serving
Pairs well with
If you enjoyed this recipe, here are a few related Zaffaron recipes to try next.
Does your family make this differently?
Every family has their own version. Maybe your grandmother adds a secret ingredient, or your aunt has a completely different technique. Preserve your family's version — with their name on it, forever.
You Might Also Like

Malaysian Coconut Rice (Nasi Lemak) — Banana-Leaf Breakfast with Sambal Ikan Bilis
Malaysian · Rice Dishes · 95 min

Nasi Kandar (Nasi Kandar) — Penang Mamak Curry Rice Plate
Malaysian · Rice Dishes · 110 min

Char Kway Teow (炒粿条) — Smoky Malaysian Stir-Fried Rice Noodles
Malaysian · Main Courses · 37 min

Bazlama (بازلاما) — Puffy Turkish Village Flatbread Cooked on a Saj
Turkish · Breads · 38 min

Amritsari Kulcha (अमृतसरी कुलचा) — Tandoor-Baked Stuffed Leavened Bread
Indian · Breads · 65 min

Bakso (Bakso) — Indonesian Beef Meatball Soup
Indonesian · Soups · 160 min

Larb Gai (ลาบไก่) — Thai Minced Chicken Herb Salad
Thai · Salads · 30 min

Cornbread (Cornbread) — Classic Cast-Iron American Quick Bread
American · Breads · 40 min
Reviews
Cooked this recipe?
Tap the stars to rate it — that's all it takes. A few words are welcome but optional.
No ratings yet. Cooked this one? Be the first to rate it — it takes one tap.