Roti canai is one of the most addictive things you can eat in Malaysia. A flatbread of Indian origin, made from a ghee-enriched dough that is stretched and folded into gossamer-thin layers before being cooked on a hot griddle until shatteringly crispy on the outside and soft, flaky, and almost creamy within — it is served at every mamak stall in the country from before dawn to well past midnight, paired with dhal, fish curry, or sambal, eaten any time of day by anyone. It is democratic, inexpensive, and nearly perfect.
What Is Roti Canai?
Roti canai (pronounced ”roti cha-nai”) is a Malaysian flatbread descended from the Indian paratha tradition. It arrived in Malaysia with Tamil Muslim migrants — known as Mamaks — who came predominantly from Tamil Nadu and Kerala as labourers during the British colonial period. Over generations, what began as a version of the North Indian lachha paratha or the Malabar porotta was adapted to Malaysian ingredients and conditions, developing into something distinctly its own. Today it is one of the most iconic foods in the country, as Malaysian as nasi lemak, and found on every mamak restaurant menu across the nation.
The technique is what makes roti canai special. The dough — made with flour, water, ghee or condensed milk, salt, and sometimes egg — is rested for several hours, then portioned into balls, brushed with oil, and stretched on an oiled surface using a characteristic flipping and spinning motion that pulls the dough into a large, near-transparent sheet. This sheet is then folded back on itself repeatedly before being cooked on a flat griddle. The folding creates the layers that define roti canai’s texture: dozens of gossamer sheets that crisp and separate during cooking, trapping air and steam. When the cooked roti is clapped between two hands while still hot (a move called ”fluffing”), those layers separate further into a light, cloud-like interior.
The dough’s rest time — minimum 4 hours, preferably overnight — is what allows it to become extensible enough to stretch without tearing. Malaysian mamak cooks who make hundreds of rotis daily develop extraordinary speed and skill with the stretching technique, but the home version produces excellent results with a more careful, slower approach.
Ingredients
Makes 8 rotis
For the Dough
- 500g (4 cups) plain flour (all-purpose flour), plus extra for dusting
- 1 teaspoon fine sea salt
- 1 teaspoon sugar
- 1 large egg, beaten
- 2 tablespoons sweetened condensed milk (or 1 tablespoon sugar + 1 tablespoon full-fat milk)
- 250ml (1 cup) water, approximately (adjust as needed)
- 3 tablespoons ghee, melted, plus 3 tablespoons for coating
For Cooking
- 3 to 4 tablespoons ghee or neutral oil for the griddle
For Serving
- Dhal (yellow lentil curry) — the most classic accompaniment
- Fish curry or chicken curry
- Sambal or curry sauce
Note on key ingredients: Ghee is strongly preferred over butter or vegetable oil — it has a higher smoke point, a richer flavour, and contributes significantly to the roti’s characteristic taste and flakiness. Condensed milk adds a slight sweetness and helps with browning; it is commonly used in Malaysian mamak versions. The flour should be plain (all-purpose) and not bread flour — lower protein content makes the dough more extensible.
How to Make Roti Canai
- Make the dough. In a large bowl, whisk together the flour, salt, and sugar. Make a well in the centre. Add the beaten egg, condensed milk, and 3 tablespoons of melted ghee. Pour in about 200ml of the water. Mix with a fork until a shaggy dough forms, then turn out onto a clean surface and knead for 8 to 10 minutes until smooth and elastic. Add water gradually if the dough feels too stiff — the finished dough should be soft and slightly tacky but not sticky.
- First rest. Divide the dough into 8 equal balls, each approximately 85g (3 oz). Brush each ball generously with melted ghee, coating the entire surface. Arrange in a single layer in a large, lightly oiled container or tray. Cover tightly with plastic wrap and rest at room temperature for at least 4 hours. Overnight (8 to 12 hours) produces the most extensible dough and is recommended for the best results.
- Prepare your surface. After resting, oil a clean, smooth work surface (a marble counter or stainless steel table is ideal) generously with neutral oil. Keep extra oil nearby — you will need it during stretching.
- Stretch the dough. Take one dough ball and place it on the oiled surface. Using your palm, press it flat into a circle about 15cm (6 inches) across. Now, using your fingertips, gently stretch the dough outward from the centre, rotating as you go, aiming to thin it out as much as possible without tearing. Work patiently — the rested dough should be very extensible. Pull it until it is nearly see-through in places, approximately 30 to 40cm (12 to 16 inches) across. Tears are fine; simply overlap the torn edges and continue.
- Add ghee and fold. Drizzle about 1 teaspoon of melted ghee or oil over the stretched dough sheet. Now fold it: fold one third of the dough over the centre, then fold the other third over that (like a letter), giving you a long rectangle. Then fold the two ends of the rectangle in toward the centre to form a rough square. You should see layers of folded dough. Gently press the folded parcel flat with your palm.
- Cook the roti. Heat a tawa (flat griddle) or wide, heavy skillet over medium-high heat. Add a teaspoon of ghee and swirl to coat. Place the folded roti on the griddle and cook for 2 to 3 minutes until the underside is golden brown in spots and the edges are set. Flip and cook the second side for another 2 minutes. The roti should be golden, with some darker spots, and the layers should be visible at the edges.
- Fluff the roti. Immediately after removing from the heat, hold the roti at its edges with both hands and clap it firmly between your palms several times (imagine you are applauding, with the roti between your hands). This breaks apart the layers and creates the characteristic light, airy texture of roti canai. Do not skip this step — it transforms the roti’s texture dramatically.
- Repeat and serve. Cook all remaining rotis, adding ghee to the griddle between each. Serve immediately with dhal, fish curry, or sambal. Roti canai waits for no one — eat it within minutes of cooking while the exterior is still crisp.
Tips for the Best Roti Canai
- Rest the dough long enough. Four hours is the minimum. Overnight is better. Insufficiently rested dough resists stretching, tears easily, and produces a denser, chewier roti rather than the characteristically flaky, layered texture. The gluten needs time to relax fully.
- Be generous with the ghee. Both in the dough and during cooking, ghee is what creates the flakiness. Do not substitute butter for cooking — it burns too quickly at the temperature needed. Use ghee or a neutral high-smoke-point oil.
- Stretch slowly and patiently. Aggressive pulling tears the dough. Work from the centre outward, use your fingertips rather than your palms, and let the dough’s own weight help thin it. A few tears are fine and cosmetically invisible in the finished roti.
- Get the griddle hot enough. An underheated griddle means the roti steams rather than fries, resulting in a pale, soft exterior. You want visible golden-brown patches — medium-high heat and enough ghee to create a slight frying effect.
- Clap it while hot. The fluffing step works only while the roti is hot and the layers are still separate and pliable. Once it cools even slightly, the layers compact and cannot be separated.
Variations
Roti Telur (Egg Roti): The most popular variation at Malaysian mamak stalls. After stretching the dough, crack one or two eggs onto the sheet, spread them gently with a spoon, then fold and cook. The egg enriches the roti and makes it slightly denser and more filling. Often served with onion or minced chicken added alongside the egg.
Roti Bawang (Onion Roti): Finely sliced red onion and fresh green chilies are scattered over the stretched dough before folding. The onion caramelises slightly during cooking and adds sweetness and crunch. A very common order at mamak restaurants alongside the plain version.
Roti Pisang (Banana Roti): A sweet version filled with sliced banana and sugar before folding. Served with condensed milk drizzled over the top rather than curry. Popular as a dessert or sweet breakfast item — very different in context from savoury roti but made with the same dough.
What to Serve With Roti Canai
- Dhal (yellow lentil curry): The classic and most common pairing. A well-made dhal — cooked with tomatoes, onion, garlic, cumin, and curry leaves — is slightly sour, earthy, and perfectly calibrated to complement the roti’s richness. It is the default accompaniment at every mamak stall.
- Fish curry (gulai ikan): A thin, turmeric-yellow fish curry typical of South Indian-Malaysian cooking. The brothy, aromatic curry is made for dipping roti canai, and many regulars at mamak stalls order specifically for the curry sauce rather than the fish.
- Chicken curry: Thicker than fish curry, with a coconut milk base and whole spices — another classic mamak pairing that works especially well with roti telur.
- Teh tarik (pulled tea): Sweet, frothy hot milk tea is the quintessential drink companion to roti canai at a mamak stall. The combination is a Malaysian institution: roti canai and teh tarik for breakfast is a ritual that crosses all ethnic and class boundaries in Malaysian society.
Storage and Reheating
Roti canai is best eaten immediately after cooking. The exterior loses its crispness within 10 to 15 minutes as moisture from the interior softens it. However, the raw dough balls keep very well: once rested and coated in ghee, they can be refrigerated for up to 3 days. Bring them back to room temperature for 30 minutes before stretching and cooking.
Cooked roti canai can be refrigerated for up to 2 days and reheated in a dry skillet over medium heat for 1 to 2 minutes per side — it will regain some crispness but not fully recover the just-cooked texture. It can also be frozen after cooking; reheat from frozen directly in a skillet or toaster oven.


