This post may contain affiliate links. Please read my privacy policy.
Roti canai, also called roti paratha, is a crispy and buttery Indian flatbread with the softest, flakiest layers inside. Delicious with a side of curry, some sugar, or even just on its own! Learn how to make this at home with my detailed step-by-step picture guide.
Roti Canai Recipe
Roti canai holds a special place in my heart. My late father used to bring me a piece or two for breakfast, hot and freshly cooked from the local Mamak stalls near our house.
If you want to try recreating the crispy and buttery goodness of roti, here’s one recipe you can easily make at home! And don’t worry if you’ve never made flatbread before. My Malaysian roti recipe is virtually foolproof, and it tastes just like the ones you get from street vendors!
For your next flatbread making project, make my homemade Chapati and Pita Bread!
What Is Roti
Roti canai is a very popular flatbread in Malaysia, just like naan.
Originating from southern India, it is sometimes called roti paratha or roti prata (Singaporean version). They are made famous in Malaysia by Mamak (Muslim-Indian) hawkers and street vendors who modified the Indian paratha recipe to suit the local palate.
What I love most about roti canai is how crispy and flaky the outside becomes while the inside remains soft and buttery. It is usually served as a side dish with curry or daal. However, some people like to eat it on its own or with a sprinkle of sugar.
Is Roti Canai The Same As Roti Paratha
Both roti canai and roti paratha originated from India, but they have slight differences in terms of ingredients.
The typical roti prata recipe has a simpler dough—usually just flour, salt, water, and ghee—giving it a slightly denser, chewier texture than roti canai.
Roti canai, on the other hand, is the Malaysian version of paratha, which often adds eggs, milk, and sugar for a richer dough. The dough is then folded and wrinkled several times to create air pockets, and it puffs up into the softest, lightest layers once it hits the hot pan!
Roti Canai Ingredients
- All-purpose flour – the foundation of our roti dough. It provides the perfect balance of structure and stretch for roti!
- Ghee (clarified butter) – essential to our roti canai recipe! It infuses the bread with buttery flavor while helping create those signature flaky layers as it melts between the folds of dough. Its high smoke point also allows us to crank up the heat, resulting in a crispy exterior without any burnt bits.
- Whole milk – adds moisture and fat for a more tender roti.
- Egg – serves as a binding agent to make the dough easier to work with. It also adds a beautiful golden hue to the cooked roti.
See the recipe card for full information on ingredients.
Which Flour Is Best For Roti
All-purpose flour is the best choice for a flaky roti recipe. It has a moderate protein content (10-12%) which hits the sweet spot for developing gluten. So you get a roti dough that’s strong enough to stretch without tearing but still cooks up into soft, light layers with a crisp bite when pan-fried.
How To Make Roti Canai
For an authentic roti paratha recipe, I turn to my friend Chef Robert Danhi of Southeast Asian Flavors.
It takes a bit of practice to nail the stretching technique, but you’ll eventually get a feel for it as you make it more often. And your roti will still taste amazing regardless!
Here’s Chef Danhi’s detailed step-by-step instructions to guide you:
Making Roti Dough
Step 1. Combine flour, salt, sugar, and 1/4 cup of the ghee in the bowl of a stand mixer. Run on low speed with a dough hook until the mixture clumps.
Step 2. Add egg, milk, and water. Continue to mix until a smooth, elastic dough is formed. Knead into a smooth, soft, elastic dough, about 8 to 10 minutes. The dough should be a bit sticky, but not wet.
Step 3. Transfer the dough out and cut into eight equal pieces, about 4 oz. each (113 g). Form into smooth balls.
Step 4. Coat each ball with one teaspoon of ghee, slathering them well. Arrange in a single layer on a plate, cover with a damp cloth, and allow them to rest at room temperature for at least 6 hours.
Pro tip: The dough can be made a day ahead and kept in the refrigerator.
Preparing The Work Space
Step 1. If the dough was prepared a day ahead, let come to a warm room temperature. So if your kitchen is cold, place the dough in a warm area, or you can even microwave it for 10-second intervals. Warm dough is more elastic and easier to work with.
Step 2. Clean a 2-inch × 2-inch (5cm x 5cm) surface, and coat it with a 12-inch circle (30 cm) of ghee (about 2 tablespoons). Coat hands liberally with ghee.
Step 3. Stretch the dough into a sheet; put 1 teaspoon of ghee in the center of the buttered work area.
Step 4. Arrange one dough ball in the center. Press with your buttered palm to flatten the dough into a 6-inch (15cm) disc, less than 1/4 inch (5mm) thick, slightly thinner around the edges.
Step 5. Pull and stretch it from the center outwards. Make sure most of the dough is paper thin by moving around the dough perimeter with your fingertips and thumbs, lifting thicker edges, pulling outwards to thin, and gently pressing against the table to adhere.
Step 6. Systematically, slowly, work your way around the perimeter of the dough circle, pulling outwards to thin the dough. For the first few rounds, pull 3 to 4 inches (about 8 to 10 cm) each time, making it thinner and thinner.
Step 7. As it gets thinner, it will be obvious where the thicker parts of the dough are. Focus on those areas. Keep going until you achieve a paper-thin sheet. It should reach about 2 feet in diameter. Use the tips of your fingers to smooth the thicker part paper thin.
Step 8. Using two hands, fold the top quarter of the dough over itself, almost reaching the middle of the sheet. Fold the top edge over again to meet the top edge. Then repeat with other sides to create a multi-layered square of dough about 6 to 8 inches (about 16 to 20 cm). Each time you fold, try to capture some air in between layers.
Cooking The Bread
Step 1. Heat a griddle or large sauté pan over low heat.
Step 2. Firmly flatten and spread one disc of dough until it is 7 inches to 8 inches in diameter or (18 to 20 cm). The dough will be elastic and may pull back a little.
Step 3. Drizzle the griddle with a little ghee. Add one bread to the pan, and cook slowly, turning once, 3 to 4 minutes per side, rotating occasionally to ensure even browning. Cook until each side is deep golden brown.
Step 4. Transfer the bread to a work surface, and then use a clapping motion (careful, it will be hot), slapping the bread together between your hands to separate the layers.
Step 5. Repeat with the remaining roti, cooking as many as will fit in the pan. Serve immediately with curry sauce or sugar.
Helpful Tips For Home Cooks
- For a slightly chewier roti canai, I like to make this recipe with bread flour, which has a higher protein content than all-purpose flour. You might need to add a bit more water since bread flour absorbs more liquid.
- I always keep the ghee at room temperature, liquid but not too warm, around 75°–80°F (23°–26°C). It mixes better with the dough that way.
- When rolling out the roti, I aim to make it as thin as possible without tearing the dough. This is key to getting that perfect balance of crispy, flaky, and soft layers.
- If I’m having trouble stretching the dough paper-thin by hand, I’ll use a rolling pin to flatten it evenly between stretches and folds. It works like a charm!
- When it’s time to fry, I make sure the pan is ripping hot. If the pan isn’t hot enough, the dough just soaks up the oil, turning greasy and undercooked. I know it’s ready when I see wisps of smoke or if a drop of water sizzles and evaporates instantly on the surface.
Frequently Asked Questions
Roti canai is best eaten in moderation because it’s loaded with carbs and calories. But it can still be part of a healthy lifestyle. Serve it with protein and veggies for a complete, nutritious meal.
Yes, an egg is usually included in Malaysian-style roti.
Go traditional by serving it with a light daal, curries like Malaysia Chicken Curry or squid curry or sambal dishes like Prawn Sambal. It’s also amazing in sweet combinations like condensed milk and sugar or paired with bananas and Nutella like a Thai roti recipe. You can get creative with it—use it as a pizza base, in a wrap, or in Curry Puff!
Yes, roti canai is pan-fried in a shallow pan or griddle lightly brushed with ghee.
A rubbery roti is usually caused by overworking the dough or not resting it enough.
This roti paratha recipe has only 371 calories per serving.
What To Serve With Malaysian Roti Paratha
Serve roti with Malaysian curry sauce or plain sugar. For an easy Malaysian weeknight dinner, I recommend the following recipes:
I hope you enjoy this post as much as I do. If you try my recipe, please leave a comment and consider giving it a 5-star rating. For more easy and delicious recipes, explore my Recipe Index, and stay updated by subscribing to my newsletter and following me on Facebook, Pinterest, and Instagram for new updates.
Roti Canai (Roti Paratha)
Ingredients
- 3 1/2 cups all purpose flour , (1 1/4 lb. / 580 g)
- 1 1/2 teaspoon kosher salt
- 1 teaspoon granulated sugar
- 3/4 cup ghee, room temperature
- 1 large egg, beaten
- 3/4 cup whole milk
- 1/2 cup water
Instructions
Roti Canai Dough
- Combine flour, salt, sugar and 1/4 cup of the ghee in the bowl of a stand mixer. Run on low speed with a dough hook until mixture clumps.
- Add egg, milk and water. Continue to mix until a smooth, elastic dough is formed. Knead into a smooth, soft, elastic dough, about 8 to 10 minutes. The dough should be a bit sticky, but not wet.
- Transfer the dough out and cut into eight equal pieces, about 4 oz. each (113 g). Form into smooth balls.
- Coat each ball with one teaspoon of ghee, slathering them well. Arrange in a single layer on a plate, cover with a damn cloth and allow them to rest at room temperature for at least 6 hours. (The dough can be made a day ahead and kept in the refrigerator.)
Prepare the Work Space
- If the dough was prepared the day ahead, let come to a warm room temperature. So if your kitchen is cold, place the dough in a warm area, or you can even microwave it for 10 second intervals. Warm dough is more elastic and easier to work with.
- Clean a 2-inch × 2-inch (5cm x 5cm) surface, and coat it with a 12-inch circle (30 cm) of ghee (about 2 tablespoons). Coat hands liberally with ghee.
- Stretch the dough into a sheet; put 1 teaspoon of ghee in the center of the buttered work area.
- Arrange one dough ball in the center. Press with your buttered palm to flatten dough into a 6-inch (15cm) disc, less than 1/4 inch (5mm) thick, slightly thinner around edges.
- Pull and stretch it from the center outwards. Make sure most of the dough is paper thin by moving around the dough perimeter with your fingertips and thumbs, lifting thicker edges, pulling outwards to thin, and gently pressing against the table to adhere.
- Systematically, slowly, work your way around the perimeter of the dough circle, pulling outwards to thin the dough. For the first few rounds, pull 3 to 4 inches (about8 to 10 cm) each time, making it thinner and thinner.
- As it gets thinner, it will be obvious where the thicker parts of the dough are. Focus on those areas. Keep going until you achieve a paper thin sheet. It should reach about 2 feet in diameter. Use the tips of your fingers to smooth the thicker part paper thin.
- Using two hands, fold the top quarter of dough over itself, almost reaching the middle of the sheet. Fold top edge over again to meet the top edge. Then repeat with other sides to create a square multi-layered square of dough about 6 to 8 inches (about 16 to 20 cm). Each time you fold, try to capture some air in-between layers.
Cook the Bread
- Heat a griddle or large sauté pan over low heat.
- Firmly flatten and spread one disc of dough until it is 7 inches to 8 inches in diameter or (18 to 20 cm). The dough will be elastic, and may pull back a little.
- Drizzle the griddle with a little ghee. Add one bread to the pan, and cook slowly, turning once, 3 to 4 minutes per side, rotating occasionally to ensure even browning. Cook until each side is deep golden brown.
- Transfer the breads to a work surface, and then use a clapping motion (careful, it will be hot), slapping the bread together between your hands to separate the layers.
- Repeat with remaining roti, cooking as many as will fit in the pan at one time. Serve immediately with curry sauce or sugar.
Notes
- For a slightly chewier roti canai, I like to make this recipe with bread flour, which has a higher protein content than all-purpose flour. You might need to add a bit more water since bread flour absorbs more liquid.
- I always keep the ghee at room temperature, liquid but not too warm, around 75°–80°F (23°–26°C). It mixes better with the dough that way.
- When rolling out the roti, I aim to make it as thin as possible without tearing the dough. This is key to getting that perfect balance of crispy, flaky, and soft layers.
- If I’m having trouble stretching the dough paper-thin by hand, I’ll use a rolling pin to flatten it evenly between stretches and folds. It works like a charm!
- When it’s time to fry, I make sure the pan is ripping hot. If the pan isn’t hot enough, the dough just soaks up the oil, turning greasy and undercooked. I know it’s ready when I see wisps of smoke or if a drop of water sizzles and evaporates instantly on the surface.
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.
Love your recipes, always have a positive outcome.Thanks for sharing your Malaysian cuisine.
Thanks Adeline. I’m glad you love my recipes and thanks for the 5 stars rating!
The Roti canai is looks crispy and yummy, it’s familiar to what we call buss up shirt in Trinidad,the same method and ingredients except for the eggs, but instead of frying it we make it on a baking stone, also call tawa on the stove top.
That’s awesome Adeline. Do try this recipe!
Thank you very much for the recipe. I enjoyed many many Roti Canai in KL and Penang during my stay in Malaysia.
I just realized at your recipe that the amount of flour in gram is not correct. 455g is the correct amount when you convert 3,5 cups.
I started with the stated 580g which is far too much.
Thanks for all the recipes. Greetings from Germany