Malaysia · Southeast Asia

Malaysian Roti Canai: How to Make Flaky Flatbread

Updated November 3, 2026

Total time
3 hr 28 min
prep 3 hr · cook 28 min
Serves
4
portions as written
Safe temperature (USDA)
160°F / 71°C
check the thickest piece
Cuisine
Malaysia
Southeast Asia

Jump to recipe

Malaysian Roti Canai: How to Make Flaky Flatbread

Malaysian roti canai is a soft, stretchy flatbread folded into thin layers and griddled until crisp and golden, usually served with curry for dipping. This home version uses flour, water, salt, sugar, and ghee; a long rest makes the dough easier to stretch and helps create its characteristic flaky layers.

Ingredients

  • 4 cups (500 g) bread flour, plus a little extra for your hands if needed
  • 1½ teaspoons (6 g) fine salt
  • 1 tablespoon (12 g) granulated sugar
  • 1⅓ cups (315 ml) lukewarm water
  • 1 tablespoon (14 g) ghee, softened, for the dough
  • ½ cup (120 ml) neutral oil, such as canola or sunflower oil, for resting and stretching
  • 2 tablespoons (28 g) ghee, melted, for cooking; use neutral oil instead for a dairy-free version

Instructions

  1. Mix the dough. In a large bowl, stir together the flour, salt, and sugar. Add the lukewarm water and 1 tablespoon softened ghee. Mix with a sturdy spoon or your hand until no dry flour remains. The dough will feel soft and a little tacky. If dry patches remain at the bottom of the bowl, add water 1 teaspoon at a time; if it is very wet and impossible to handle, dust in flour sparingly rather than making it stiff.
  2. Knead until smooth. Knead on a clean counter for 10 to 12 minutes, pushing the dough away with the heel of your hand, folding it back, and turning it as you work. It should become smooth, elastic, and less sticky, though it may still feel slightly tacky. Resist adding much extra flour: a soft dough stretches more easily later. You can also knead with a stand mixer fitted with a dough hook on low speed for about 8 minutes.
  3. Give the dough its first rest. Shape it into a ball, return it to the bowl, and cover the bowl with a damp towel or reusable cover. Leave it at room temperature for 20 minutes. This short pause relaxes the gluten so dividing and shaping the dough is easier; it is not a substitute for the longer rest after portioning.
  4. Divide and coat the portions. Lightly oil your hands. Divide the dough into 8 equal pieces, about 100 g each, and roll each piece into a smooth ball. Pour the neutral oil into a shallow dish or small tray. Turn the dough balls in the oil so each is coated, then arrange them in one layer with a little space between them. Cover tightly so the surface cannot dry out.
  5. Rest the balls. Leave the covered dough balls at room temperature for 2 hours. This generous rest is important: it makes the dough supple enough to stretch thin without snapping back. If your room is especially warm, check that the dough is not sitting in direct sunlight or next to a hot stove. Do not rush this stage; under-rested dough is the most common reason roti tears or shrinks while shaping.
  6. Stretch and fold each roti. Lightly grease a clean counter or large tray with a little of the oil from the dough. Work with one ball at a time, keeping the others covered. Press a ball into a small disk, then gently stretch it outward with oiled fingers, lifting and pulling the edges until it is very thin and nearly translucent in places. A few small holes are fine. If the dough resists, set it aside for 5 minutes and work on another ball rather than pulling harder. Drizzle or brush a little melted ghee over the surface. Fold opposite edges toward the middle, then fold the remaining sides in to form a soft square or parcel. Set it aside seam-side down and repeat with the remaining balls. Keep the folded portions covered while you heat the pan.
  7. Cook until layered and golden. Heat a heavy skillet or flat griddle over medium heat. Brush it lightly with melted ghee. Gently press one folded parcel into a round about 5 to 6 inches wide, taking care not to squash the layers flat. Place it in the pan and cook for about 1½ to 2 minutes per side, turning once or twice, until both sides have golden-brown spots and the center is cooked through. Adjust the heat if the outside darkens before the middle cooks. Transfer to a plate and repeat, adding a little ghee to the pan as needed. Cooking all 8 roti should take about 28 minutes, depending on your pan and how many you can cook at once.
  8. Loosen the layers and serve. While each roti is still warm, gently clap it between your hands or press and scrunch its edges inward to separate the flaky layers. Use a clean towel or oven mitt if it is too hot to handle. Serve promptly with curry or another dipping sauce.

Tips

  • Keep the dough soft. The measured water should make a pliable, slightly tacky dough, not a firm bread dough. Flour absorbs moisture differently, so add water gradually if the mixture looks dry. Too much extra flour makes stretching harder and the finished roti less tender.
  • Make the rest do its job. Coat the balls well and cover the tray so they stay supple. If a ball keeps shrinking as you stretch it, pause for several minutes; that is a sign it needs more time to relax, not more force. For a convenient schedule, make the dough earlier in the day and cook it after the full room-temperature rest.
  • Use oil generously on your hands and work surface. Oil helps prevent sticking while you stretch the dough thin. It also makes it easier to fold without tearing. Use only a light film in the pan, though; too much cooking fat can make the outside greasy before the inside is ready.
  • Swap the flour thoughtfully. Bread flour gives the dough strength for stretching. All-purpose flour works, but the dough may be a little less elastic, so knead well and stretch more gently. Whole-wheat flour can be used for up to 1 cup (125 g) of the total flour; the roti will taste nuttier and may not stretch quite as thin.

Serving Suggestions

Serve roti canai hot as a breakfast, snack, or casual meal, with a bowl of curry on the side for dipping. Malaysian-style accompaniments often include dhal or a spiced chicken curry, while a vegetable curry is a satisfying meat-free option. Set the flatbread beside the sauce rather than pouring curry over it so the crisp edges stay distinct for longer.

For a simple meal, pair it with lentil dhal, sliced cucumber, and a small dish of sambal. Roti also works as a side for a saucy stew or soup: tear off a piece and use it to scoop up the sauce. If serving several people, stack the cooked pieces loosely in a clean towel to keep them warm, but avoid sealing them while steaming hot, which traps moisture and softens the crust.

Variations

Roti telur: For an egg-filled version, stretch one dough ball, crack an egg into the center, and add a pinch of salt and finely sliced onion. Fold the dough around the filling into a square and cook over medium heat until browned and set throughout. Egg dishes should reach 160°F (71°C), the USDA FSIS safe minimum internal temperature; use a food thermometer in the filling. The egg makes the center richer and less crisp than plain roti.

Onion or scallion roti: Scatter 1 to 2 tablespoons (10 to 20 g) of finely sliced scallions or onion over the stretched dough before folding. Keep the pieces small so they do not puncture the thin sheet. Onion adds sweetness and a little moisture, so cook over moderate heat until the center is done rather than raising the heat to brown the outside quickly.

Dairy-free roti: Replace both uses of ghee with neutral vegetable oil. The dough will still stretch and layer; ghee contributes a buttery, fragrant flavor, while oil tastes cleaner and keeps the recipe dairy-free. For a slightly richer aroma without dairy, a small amount of toasted sesame oil can be mixed into the cooking oil, but do not use it as the only fat because its flavor can dominate.

Whole-wheat blend: Replace up to one-quarter of the bread flour with whole-wheat flour. Add water a teaspoon at a time if the dough feels drier, and expect a heartier flavor and somewhat thicker layers. Using all whole-wheat flour is possible, but its bran can interrupt the stretchy dough, making the classic thin, delicate texture harder to achieve.

Storage and Reheating

Roti canai is at its best straight from the pan. Let leftovers cool, then refrigerate them in an airtight container within 2 hours of cooking. They keep for 3 to 4 days in the refrigerator, although the crust softens as it sits. For longer storage, freeze the cooked roti with a piece of parchment between each one, sealed in a freezer-safe bag, for up to 2 months. Thaw in the refrigerator or reheat from frozen.

Warm refrigerated or frozen roti in a lightly greased skillet over medium-low heat, turning until hot and crisp again; a frozen piece may need a few extra minutes and a lid for part of the reheating so the center warms through. For food safety, reheat leftovers to 165°F (74°C), checking with a food thermometer. Avoid microwaving if you want crisp edges, since it tends to make the bread soft and chewy. Uncooked dough balls can also be refrigerated in a covered, oiled container for up to 24 hours; let them sit at room temperature until pliable before stretching. Discard dough left out for more than 2 hours.

Frequently Asked Questions

What is Malaysian roti canai?

Roti canai is a layered, pan-cooked flatbread popular in Malaysia, commonly eaten with curry or dhal. It is associated with South Asian flatbread traditions, and shapes, ingredients, and serving styles vary. This recipe makes plain roti with a soft center and lightly crisp, flaky outside.

Why does my roti dough keep shrinking?

The dough probably needs more time to relax, or it may be too dry. Make sure the dough balls complete their 2-hour covered rest, and leave a stubborn piece alone for 5 minutes before trying again. Stretch gradually with oiled fingers instead of pulling hard at one edge.

Can I make the dough the night before?

Yes. After dividing and coating the balls with oil, cover them and refrigerate for up to 24 hours. Bring them toward room temperature until they feel soft and easy to stretch; this may take about 45 to 60 minutes, depending on the room. Do not leave refrigerated dough out for longer than 2 hours.

Can I prepare roti canai without ghee?

Yes. Use a neutral vegetable oil in the dough and for cooking. The bread will still form layers, though it will lack ghee’s distinctive rich aroma. Canola or sunflower oil is a practical choice; olive oil has a stronger flavor and is less traditional for this preparation.

How thin should I stretch the dough?

Stretch it until the sheet is very thin and you can see the counter through parts of it, but do not worry about a few small holes. A perfectly unbroken sheet is not essential because the dough is folded into layers. If it tears extensively, gather it gently, let it rest, and try a little less force on the next piece.

What can I serve with roti if I do not have curry?

Serve it with lentil soup, a vegetable stew, or a thick savory sauce that is easy to scoop. A small bowl of sambal or another spicy condiment can add heat. Plain roti is also good alongside a meal as a bread for picking up sauce, so it does not need a specific curry to be enjoyed.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).