Roti canai

Flaky, chewy Malaysian flatbread: an oiled dough stretched paper-thin, folded, griddled with ghee and clapped open, served with a lentil dhal curry.

Recipe by I Want Some Food · Reviewed by the editorial kitchen.

Start cooking
Measurement system
Prep
1 hr
Cook
1 hr
Rest
4 hr
Total
6 hr
Difficulty
A bit of work
Spice
Mild
Cost
Cheap nightUnder $8 USD · indicative, not a store price

About

Roti canai is a flaky, chewy flatbread made from a soft, oily dough that is stretched paper-thin, folded into a square and cooked on a hot griddle with ghee. Stall cooks spin the dough in the air until it is a translucent sheet; at home you get the same result by pressing and pulling it out on an oiled worktop, which is slower and works just as well. Everything depends on the rest. The dough balls sit in oil for at least four hours, ideally overnight, until they relax enough to stretch without tearing. After cooking, the roti is clapped between the hands to break the layers open. It is eaten with dhal for tearing and dipping.

What you'll need

27 ingredients. Tap each one once it's out on the bench.

0 of 27 ready
8 servings
  • Dough
  • Dhal

Ingredients

Dough

Dhal

Scaling multiplies the written quantities. Baking still prefers a scale.

Steps

  1. Step 1

    Mix the flour, salt and sugar in a bowl. Beat the egg with the condensed milk and most of the water, pour it in and mix, adding the rest of the water as needed for a very soft, slightly sticky dough. Knead 10 minutes until smooth and elastic, rest 15 minutes covered, then knead 2 minutes more.

    30 min

  2. Step 2

    Divide into 8 pieces of about 100 g and roll each into a smooth, tight ball. Pour half the oil into a tray, roll the balls in it until fully coated and cover with cling film. Rest at least 4 hours at room temperature, or overnight in the fridge, taking them out an hour before stretching.

    240 min

    Tip: This rest is not optional. Under-rested dough tears before it gets thin.

  3. Step 3

    For the dhal, bring the lentils, water and turmeric to the boil, skim, and simmer 20 minutes until soft and falling apart; toor dal needs 40 minutes or more. Add the potato, carrot, eggplant, tomato and salt and simmer 15 minutes more, until the vegetables are tender. Add water if needed; it should pour like a thick soup.

    35 min

  4. Step 4

    Heat the oil in a small pan, add the mustard seeds and let them pop, then the cumin, fenugreek, dried chilli and curry leaves for 30 seconds. Add the shallot, garlic and ginger and fry 3 minutes until golden, stir in the curry powder with a splash of water for 1 minute, then tip everything into the dhal. Stir in the coconut milk and simmer 5 minutes.

    10 min

  5. Step 5

    Oil a large, clean worktop generously. Flatten a dough ball with an oiled palm, then press outwards from the middle and gently lift and pull the edges, working round, until the sheet is thin enough to see the worktop through it and about 40 cm across. A few holes are fine. Drizzle a little ghee over it.

    3 min

    Tip: Pull with flat fingers under the edge, not fingertips, so you do not poke through.

  6. Step 6

    Fold the top third down and the bottom third up over it, then fold the sides in by thirds the same way, to make a square of about 15 cm with air and ghee trapped between the layers. Set it aside for 5 minutes while you stretch the rest.

    15 min

  7. Step 7

    Heat the frying pan or comal over medium-high heat. Add a teaspoon of ghee, lay in a square and press it gently out to about 18 cm. Cook 2 minutes a side, until golden, blistered and crisp at the edges.

    35 min

  8. Step 8

    While it is still hot, hold the roti between your palms and clap it inwards from the sides a few times to break the layers open. Serve at once with the dhal.

    1 min

    Watch: It is hot. Use a clean tea towel in each hand if your palms object.

Nutrition

Per serving · estimate

Calories
552 kcal
Protein
12.2 g
Carbs
67.3 g
Fat
26.2 g
Saturated fat
8.5 g
Fibre
6 g
Sugar
8.3 g
Sodium
1112 mg

Calculated from canonical ingredient data (USDA FoodData Central averages and equivalent published tables). Estimates only.

Allergens

Informational only. Not a medical guarantee. Cross-contamination happens in real kitchens.

  • Wheat
  • Eggs
  • Milk
  • Vegetarian
  • Nut-free

Adapt this recipe

The original recipe stays as it is. Personal versions are labelled. Serving changes are simple maths.

Adaptations · 0 / 15 used. Resets 11 November.

Substitutions

  • Ghee → Butter or margarine

    Margarine is what many stalls use. Butter burns faster; keep the heat a notch lower.

  • Condensed milk → 2 tbsp milk plus 2 tsp sugar

    Slightly less rich and a little less tender, still good.

Tips

  • For roti telur, crack an egg onto the stretched sheet before folding and cook it a minute longer on each side.
  • Leftover dough balls keep two days in their oil in the fridge.

History & culture

Roti canai is breakfast and supper at the mamak, the Indian Muslim stall-restaurants open late or all night across Malaysia. You order it kosong, plain, or with egg, onion or sardines, with a glass of teh tarik. The dhal comes with it, and a ladle of fish or chicken curry if you ask. Singapore calls it roti prata.

The bread came with Indian Muslim migrants from South India in the 19th and early 20th centuries, and is a cousin of the Kerala parotta. The name is argued over. Some say it refers to Chennai, others to canai, a Malay word for kneading or rolling out dough. Neither explanation has been settled.

Traditional — Mamak stalls use margarine or a mix of margarine and ghee, and stretch the dough by slapping and spinning it in the air. Ghee and the worktop pull here give the same layers with far less practice. Stall dhal is often thinner and cooked with a little chicken or mutton curry stock.

Provenance: Editorial adaptation.

Questions about this recipe

Answers taken from this dish's times, amounts, swaps and tips.

How long does Roti canai take?

6 hr all in — 1 hr prep, 1 hr cook, 4 hr rest. Cook and rest follow the method. Leftover storage and optional extra waits are not included.

How many does it serve?

The recipe is written for 8 pieces. Scale the ingredient list on the page if you are cooking for a different number.

How hard is it?

A bit of work.

How spicy is it?

Mild.

What allergens should I watch?

This recipe is labelled for Wheat, Eggs, Milk. Labels are informational — check the packets in your kitchen. This is not medical advice.

Does it fit a diet?

The published recipe is labelled Vegetarian, Nut-free.

9 more questions
What does it cost to cook?

Cheap night — about Under $8 USD, as a grocery budget for this recipe, not a restaurant price.

What equipment do I need?

Mixing bowl, Saucepan, Frying pan, Comal or dry skillet, Kitchen scale.

How much salt do I put in?

The recipe lists Salt at 1½ tsp.

How much sugar?

1 tbsp of Sugar.

What can I use instead?

Ghee → Butter or margarine. Margarine is what many stalls use. Butter burns faster; keep the heat a notch lower. Condensed milk → 2 tbsp milk plus 2 tsp sugar. Slightly less rich and a little less tender, still good.

What should I watch for?

It is hot. Use a clean tea towel in each hand if your palms object.

Any tips from this recipe?

For roti telur, crack an egg onto the stretched sheet before folding and cook it a minute longer on each side. Leftover dough balls keep two days in their oil in the fridge.

Can I prepare this ahead?

Leftover dough balls keep two days in their oil in the fridge. This rest is not optional. Under-rested dough tears before it gets thin.

Can I use an air fryer?

This method is not written for an air fryer. The core technique on the page still applies.

Similar dishes

In this kitchen

Share card

Explore Malaysia →

Before you start cooking

Your pantry, saved recipes and meal plans are stored on this device so the site works — that part can't be switched off. We count page visits and measure page speed. There are no ads. Separately, we can count anonymous feature usage. That part is your call, and it stays off unless you say yes.

What gets stored