Malaysia's National Bread Recipe
crispy flaky buttery flatbread with housemade vegetarian curry dip.
Was this page helpful?
Help improve this recipe for others.
Send this recipe to your inbox.
We'll email it straight to you - plus weekly cooking inspiration.
Ingredients
Some product links may be affiliates. If you buy through them, you're supporting the site and Pekin may earn a commission at no extra cost to you.
Roti Canai (Flaky Flatbreads)
Housemade Vegetarian Curry Dip (Kari Sayur-style)
Assembly & Garnish
Method
Roti Canai (Flaky Flatbreads)
Make and rest the dough
In a large bowl whisk together the all-purpose flour, semolina, salt and sugar. Add warm water, milk and 3 tbsp vegetable oil. Stir until a shaggy dough forms, then turn onto a lightly oiled surface and knead 6–8 minutes until smooth and elastic. Shape into 8 equal balls (about 75–85 g each). Coat each ball lightly with oil, place in a tray, cover tightly with plastic wrap and let rest at room temperature for at least 1 hour (ideally 2–4 hours) to relax the gluten. For best flakiness you can rest overnight in the fridge; bring back to room temp before proceeding.
Stretch and laminate
On a well-oiled work surface take one dough ball, flatten with your palm into a disc. With oiled fingertips and a light, rhythmic pressing and stretching motion, gently stretch the dough outward until it becomes very thin and almost translucent (about 10–12 inches/25–30 cm). If it resists, let it rest 10 minutes and try again. Brush the thin sheet with a little melted butter (about 1/2 tsp). Fold one edge toward the center then roll like a Swiss roll into a tight coil to create layers. Tuck the end underneath to form a neat spiral. Repeat for each ball. Let coils rest 15 minutes covered.
Flatten and cook
Using a rolling pin, gently press each coil into a pancake about 6–7 inches (15–18 cm) diameter, keeping layers intact. Heat a large nonstick or cast-iron skillet over medium heat and add about 1 tsp oil or ghee. Cook one roti at a time: place on skillet and cook 1.5–2 minutes until golden and blistered on the bottom. Flip and cook the other side 1–1.5 minutes, pressing gently with a spatula to ensure even contact. If you prefer extra crispness, increase heat briefly to get more blistering but avoid burning. Transfer to a wire rack and immediately brush lightly with melted butter. Keep warm and continue with remaining rotis.
Housemade Vegetarian Curry Dip (Kari Sayur-style)
Sauté aromatics and spices
Heat 2 tbsp vegetable oil in a medium saucepan over medium heat. Add the chopped onion and sauté until softened and translucent, 5–7 minutes. Add the minced garlic and grated ginger and cook 30–45 seconds until fragrant. Stir in the curry powder, turmeric and cumin and cook 1 minute to bloom the spices. Add the tomato paste and stir to combine.
Simmer and finish
Uncover and stir in the coconut milk, soy sauce (if using), brown sugar, lime juice, salt and pepper. Simmer uncovered 3–5 minutes to meld flavors and slightly thicken. Adjust seasoning to taste—add more salt, lime or sugar as needed. If you prefer a smoother dip, use an immersion blender to partially or fully purée the curry to your desired texture, leaving some chunky vegetables for body.
Garnish
Stir in chopped cilantro if using and remove from heat. Keep warm until serving.
Assembly & Serving
Place warm flaky rotis on a platter alongside a shallow bowl of the house vegetarian curry dip. Brush an optional final touch of additional melted butter over the rotis and sprinkle chopped cilantro or spring onion over the curry. Serve with lime wedges on the side for squeezing over the curry or roti.
To eat: tear off pieces of roti and dip into the curry. Reheat leftover rotis in a hot skillet for 30–45 seconds per side to refresh crispness.