Ever wonder why restaurant roti canai always turns out so perfectly flaky and crispy while homemade versions fall flat? I used to think you needed years of practice and some kind of secret Malaysian magic to master this Malaysian flatbread, until I finally cracked the code with this foolproof roti canai recipe. Now my family fights over the last piece every weekend breakfast, and honestly, my neighbor keeps asking if I’ve been sneaking to the mamak at 3am (if only she knew I’m making this authentic Malaysian roti canai right in my own kitchen).
Here’s the Thing About This Recipe
What makes this Malaysian flatbread work so well is the resting time—seriously, that’s the secret everyone skips. The dough needs time to relax so it becomes stretchy enough to flatten super thin without tearing. I learned the hard way that rushing roti canai just gives you thick, doughy pancakes instead of those crispy, flaky layers everyone loves. The combination of ghee and margarine creates those signature layers, while the condensed milk adds a subtle sweetness that balances perfectly with curry. It’s honestly that simple—give the dough time to rest, work with well-oiled hands, and you’ll get that restaurant-quality flakiness at home.
What You’ll Need (And My Shopping Tips)
Good all-purpose flour is your base here—nothing fancy needed, just regular flour from any grocery store. The condensed milk might seem like an odd addition, but it’s what gives authentic roti canai that slightly sweet flavor and helps create a tender texture (I learned this after making it without condensed milk three times and wondering why mine tasted so bland).
For the fat, ghee is traditional and gives the best flavor—that nutty, rich taste is worth hunting down at Indian or Asian grocery stores. If you can’t find it, vegetable oil works fine, but the flavor won’t be quite as authentic. You can learn more about ghee and its culinary uses if you’re curious about this traditional ingredient. I always grab an extra container because I end up using it for other recipes too.
The margarine is crucial for creating those flaky layers between folds. Around here, we’ve figured out that softened margarine spreads more easily than cold butter, making the layering process way less frustrating. Don’t skip the resting periods either—they’re not optional if you want stretchy, workable dough.
Let’s Make This Together
Start by mixing your flour and salt in a large bowl. Gradually add the condensed milk and water while you knead everything together—you’re looking for a smooth, soft dough that’s not sticky. This takes about 5-7 minutes of good kneading, so put some muscle into it.
Now for the important part: divide that dough into golf ball-sized portions and coat each one generously with ghee or oil. Let them rest for a full hour under a damp cloth. Don’t be me—I used to skip this step and ended up with dough that wouldn’t stretch without tearing.
After an hour, take one dough ball and flatten it on a clean, lightly oiled surface. Spread a thin layer of softened margarine all over the surface, then carefully coil it back into a ball, kind of like you’re making a cinnamon roll. Repeat this with all your dough balls, then let them rest again for 15 minutes. I know it seems like a lot of waiting, but trust me on this one—this is when the magic happens.
When you’re ready to cook, take a rested dough ball and flatten it into a super thin round using your hands or a rolling pin. If you’re feeling adventurous, you can try the traditional method of lifting and slapping it on the counter to stretch it paper-thin, but honestly, a rolling pin works just fine for beginners.
Heat a non-stick pan over medium heat (no oil needed in the pan) and cook each roti for 2-3 minutes per side until it’s golden brown and crispy with beautiful spots. The edges should be crispy while the center stays soft and flaky. If you love these Malaysian cooking techniques, check out my Malaysian Chicken Curry that pairs perfectly with this flatbread.
If This Happens, Don’t Panic
Dough keeps tearing when you try to flatten it? You probably didn’t let it rest long enough, or it needs more oil. In reality, I’ve learned to be generous with the oil coating and patient with the resting time. If this happens (and it will when you’re learning), just let that particular dough ball rest another 10 minutes before trying again.
Roti turned out thick and doughy instead of flaky? You didn’t flatten it thin enough or didn’t use enough margarine between the layers. This is totally fixable for next time—aim for almost translucent thinness when you flatten each piece. I always check by holding it up to the light now because you should almost be able to see through it.
Roti canai is sticking to the pan? Your pan isn’t hot enough or isn’t truly non-stick. The dough itself has enough oil that it shouldn’t stick if your pan is properly heated. Don’t add oil to the pan—it’ll make your roti greasy instead of crispy.
When I’m Feeling Creative
When I’m feeling fancy, I’ll make Roti Telur by cracking an egg onto the flattened dough before folding it up and cooking it—the egg creates a rich, protein-packed breakfast version. Roti Pisang adds sliced bananas and a sprinkle of sugar for a sweet treat that my kids absolutely devour.
Around the holidays, I’ll make Roti Bom, which is basically a smaller, thicker version loaded with extra margarine and sugar that gets crispy on the outside while staying soft inside. For a savory twist, I sometimes add finely diced onions and a pinch of curry powder to the dough before the first rest.
What Makes This Recipe Special
Roti canai has deep roots in Malaysian and Singaporean cuisine, with influences from Indian paratha brought by Tamil Muslim traders centuries ago. What sets Malaysian roti canai apart is the technique of stretching the dough paper-thin and the specific combination of fats used to create those signature flaky layers. Traditional mamak stalls (Malaysian-Indian Muslim eateries) have perfected this over generations, and the theatrical dough-tossing technique has become iconic street food entertainment. This home version adapts those professional techniques for regular kitchens, focusing on the essential resting periods and layering methods that create authentic texture without requiring years of practice.
Things People Ask Me About This Recipe
Can I make roti canai dough ahead of time?
Absolutely! The dough actually gets better if you make it the night before. After coating the balls with oil, cover them tightly and refrigerate overnight. Just bring them to room temperature for 30 minutes before flattening and cooking.
What’s the difference between roti canai and paratha?
They’re similar but not identical—roti canai tends to be lighter and flakier with a slightly sweet note from the condensed milk, while Indian paratha is often thicker and may include whole wheat flour. The cooking techniques are cousins but each has its own character.
Can I freeze uncooked roti canai?
Yes! After the second rest, flatten each dough ball, place parchment paper between them, and freeze in a bag for up to 3 months. Cook them straight from frozen, adding an extra minute per side.
Do I need to use condensed milk in this authentic roti canai?
The condensed milk is traditional and adds that subtle sweetness that makes Malaysian roti canai special, but you can use regular milk with a teaspoon of sugar if you’re in a pinch. The texture will be slightly different though.
Why do I need to rest the dough twice?
The first rest relaxes the gluten so the dough becomes stretchy, and the second rest after adding the margarine layers allows everything to settle and makes the dough easier to flatten super thin. Skipping either rest will give you tough, difficult-to-work-with dough.
What should I serve with homemade roti canai?
Traditionally, it’s served with dal (lentil curry) or any Malaysian curry. My family loves it with chicken curry, beef rendang, or even just a simple dipping sauce of condensed milk mixed with a tiny bit of water for breakfast.
Before You Head to the Kitchen
I couldn’t resist sharing this roti canai recipe because there’s something so satisfying about pulling apart those flaky layers and knowing you made it yourself. The best roti canai mornings are when everyone’s gathered around the table, fighting over who gets the crispiest piece, and I’m standing at the stove flipping these golden beauties. Give it a try—your kitchen is about to smell like the best mamak stall in town.
Print
Roti Canai
Description
Flaky, crispy Malaysian flatbread with tender layers—this authentic roti canai recipe brings mamak stall magic to your home kitchen with simple ingredients and traditional techniques.
Prep Time: 20 minutes | Cook Time: 20 minutes | Resting Time: 1 hour 15 minutes | Total Time: 1 hour 55 minutes | Servings: 6-8 pieces

Ingredients
- 2 cups all-purpose flour
- 1/2 tsp salt
- 1 tbsp condensed milk (this makes it authentic)
- 1 cup water
- 2 tbsp ghee or vegetable oil (plus extra for coating)
- 1/4 cup margarine, softened (for layering)
Instructions
- In a large mixing bowl, combine the flour and salt. Gradually add the condensed milk and water while kneading with your hands until a smooth, soft dough forms—this takes about 5-7 minutes of good kneading.
- Divide the dough into small balls about the size of golf balls (you should get 6-8). Coat each ball generously with ghee or oil, place them on a plate, and cover with a damp cloth. Let them rest for a full hour—don’t skip this.
- After an hour, take one dough ball and flatten it slightly on a clean, lightly oiled surface. Spread a thin layer of softened margarine all over the surface, then carefully coil it back into a round ball, kind of like rolling up a cinnamon roll.
- Repeat this margarine-and-coil process for all the dough balls, then let them rest for another 15 minutes. This second rest makes them easier to flatten super thin.
- Take a rested dough ball and flatten it into a very thin, round shape using your hands or a rolling pin—aim for almost translucent thinness for the best flaky texture.
- Heat a non-stick pan over medium heat (don’t add oil to the pan) and cook the flattened dough for about 2-3 minutes on each side, until golden brown and crispy with beautiful spots all over.
- Repeat with the remaining dough balls, stacking the cooked roti on a plate. Give each finished roti a gentle clap between your hands to fluff up those layers (this is the fun part).
- Serve your roti canai warm with your favorite curry or dal. Try not to eat them all before they reach the table.
Nutrition Information (Per Piece):
- Calories: 215
- Carbohydrates: 28g
- Protein: 4g
- Fat: 9g
- Fiber: 1g
- Sodium: 180mg
- Iron: 10% DV
- Calcium: 3% DV
Roti canai provides energy through carbohydrates and includes small amounts of protein and iron from the flour.
Notes:
- Seriously, don’t rush the resting times—they’re the secret to stretchy, workable dough that won’t tear.
- Be generous with the oil when coating the dough balls. It’s not just for flavor; it keeps the dough pliable.
- Every stovetop runs differently, so adjust your heat if the roti is browning too fast or too slow. Medium heat is usually perfect.
- The flatter and thinner you can get the dough, the flakier your roti will be. Practice makes perfect here.
Storage Tips:
Store cooked roti canai in an airtight container at room temperature for up to 2 days, or refrigerate for up to 4 days. The best way to reheat is in a dry pan over medium heat for about 30 seconds per side to restore crispiness. Don’t microwave roti canai—it turns rubbery and loses all that beautiful crispiness you worked so hard to achieve. You can freeze cooked roti between sheets of parchment paper for up to 2 months, then reheat in a pan straight from frozen.
Serving Suggestions:
- Traditional Style: Serve hot with dal (lentil curry) and a side of spicy sambal for dipping
- With Curry: Pair with Malaysian chicken curry, beef rendang, or any rich, saucy curry for tearing and dipping
- Breakfast Sweet: Drizzle with condensed milk or serve with kaya (coconut jam) for a sweet morning treat
- Street Food Style: Tear into pieces and dip into a mixture of condensed milk and a splash of water, just like at mamak stalls
Mix It Up (Recipe Variations):
Roti Telur (Egg Roti): Before folding the flattened dough, crack an egg in the center, spread it around, then fold and cook—creates a protein-rich breakfast version.
Roti Pisang (Banana Roti): Add sliced bananas and a sprinkle of sugar to the center of the flattened dough before folding for a sweet, dessert-like treat.
Roti Bom: Make smaller, thicker rounds and add extra margarine and sugar—these turn out super crispy on the outside and soft inside.
Savory Onion Roti: Mix finely diced onions and a pinch of curry powder into the dough before the first rest for a flavorful savory version.
What Makes This Recipe Special:
This recipe adapts the traditional mamak stall techniques for home kitchens, focusing on the essential resting periods and layering methods that create authentic flaky texture. Malaysian roti canai evolved from Indian paratha through Tamil Muslim influence, developing its own distinct character with the addition of condensed milk and specific stretching techniques that create lighter, crispier layers than its Indian cousin.
