Soups & Stews
This beef and potato roti recipe delivers flaky, golden layers stuffed with a hearty, savory filling that balances tender beef and creamy potatoes. The secret lies in a perfectly balanced dough that stays soft yet crispy when cooked, while the filling transforms simple ingredients into restaurant-quality flavor.
I've perfected this dish over years of testing—each bite offers that satisfying contrast between tender meat, fluffy potatoes, and delicate roti layers.
The beauty of this recipe is its versatility—whether you're serving it as a main dish or pairing it with a cooling yogurt dip, the combination of textures and flavors makes every mouthful memorable.
The dough requires just a few simple ingredients and minimal effort, while the filling comes together with ground beef, diced potatoes, and aromatic spices that infuse deeply during cooking. What sets this apart is how the roti maintains its signature flakiness without sacrificing the rich, meaty filling inside.
By the time you're done, you'll have a dish that looks impressive but requires no special skills—just patience for the dough to rest and attention to even cooking.
The beef stays juicy, the potatoes remain tender, and the roti layers achieve that perfect crispness at the edges while staying soft in the center. This is comfort food at its finest, elevated by the satisfying crunch and rich flavors that make it a standout for any meal.
Perfect for family dinners, special occasions, or when you want to impress guests without spending hours in the kitchen. The recipe scales easily, so you can make a single roti for a light lunch or prepare several for a hearty meal.
Here's how to create this flaky, flavorful masterpiece step by step.
Ingredients for beef and potato roti
Simple pantry staples and fresh ingredients for golden, flaky roti with juicy beef and potato filling.
| Ingredient | Amount | Notes |
|---|---|---|
| All-Purpose Flour 🌾 | 3 cups | For dough, sifted preferred |
| Unsalted Butter 🧈 | ½ cup | Cold, cubed for dough |
| Plain Yogurt 🥛 | ½ cup | Full-fat for best texture |
| Ground Beef 🥩 | 1 lb | Lean to medium-fat ratio |
| Russet Potatoes 🥔 | 2 medium | Diced into 1-inch pieces |
| Yellow Onion 🧅 | 1 medium | Finely chopped for filling |
| Garlic Cloves 🧄 | 4 cloves | Minced for aromatic base |
| Ginger 🌿 | 1 inch | Fresh, grated for zing |
| Ground Cumin 🌿 | 1 tsp | Toasted for deeper flavor |
| Ground Coriander 🌿 | 1 tsp | Freshly ground preferred |
| Turmeric Powder 🌶️ | ½ tsp | For vibrant color |
| Garam Masala 🌶️ | 1 tsp | Store-bought blend works |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| Vegetable Oil 🫒 | 2 tbsp | For cooking roti |
The flour and butter are non-negotiable for that signature flakiness. King Arthur or Gold Medal flour works best—high protein gives better structure. For butter, Plugrá or Land O'Lakes are reliable, but any unsalted brand works. The yogurt should be full-fat (Greek or regular)—low-fat versions won't give the same tender dough. Potatoes? Russets are ideal—their starchiness holds up during cooking. If you can't find them, Yukon Golds work too, but they'll be slightly creamier.
No fresh ginger? Ground ginger at half the amount works in a pinch, but fresh is worth hunting down at Trader Joe's or the international aisle. Swapping ground beef for lamb or chicken changes the flavor profile—beef gives that rich, savory depth. The spices are flexible: Penzeys or bulk bins for the best quality, but regular grocery store brands are fine. For extra richness, add 1 tbsp tomato paste to the filling. The filling can be prepped ahead—it actually tastes better the next day as flavors meld.
Store dough wrapped in plastic for 2 days or freeze for 3 months—wrap tightly in foil first. The filling keeps 4 days in the fridge or 3 months frozen. I like to portion the filling into small containers so I can grab and go. For reheating, low and slow in a skillet keeps the roti crispy. These reheat beautifully—great for meal prep when you're short on time.
Why You'll Love This Recipe
- One-Bowl Magic: I swear by this—just mix the flour, yogurt, and butter until it’s smoother than my excuses for skipping the gym. No rolling pins, no fuss, just a dough that practically folds itself.
- Crispy-Creamy Crush: That golden crust on the roti? Butter and flour working their magic. Inside, the beef and potatoes get tender enough to melt, while the edges stay crisp enough to make you take a second bite.
- Lunchbox Hero: Pack these for work or school—they hold up better than my willpower on a Monday. Wrap them around the beef filling, and suddenly you’ve got a handheld meal that’s way more exciting than sad desk lunches.
- Budget Power Move: Ground beef and russets stretch farther than my patience on grocery days. Make a big batch, reheat for days, and still feel like you’re treating yourself. (Between us, I’ve fed four people for under $10.)
Step-by-step instructions for beef and potato roti
Here's how to create those perfect flaky layers with a savory beef and potato filling inside.
👨🍳 Step 1: Prepare the Spiced Beef and Potato Filling
In a large skillet, heat 2 tablespoons vegetable oil over medium-high heat. Add the 1 lb ground beef and cook until it loses its raw color, breaking it apart with a spoon. You'll notice it releases juices as it browns—this is where all the flavor develops.
Push the beef to one side of the pan and add 1 medium yellow onion (finely chopped), 4 cloves garlic cloves (minced), and 1 inch ginger (freshly grated). Cook for 3-4 minutes until the onion becomes translucent and fragrant. Add 1 tsp ground cumin, 1 tsp ground coriander, 0.5 tsp turmeric powder, 1.5 tsp salt, and 0.5 tsp black pepper, stirring well to coat everything in the spices.
Add the 2 medium russet potatoes (diced into 1-inch pieces) and stir to combine. Cook for 8-10 minutes until the potatoes begin to soften and the mixture comes together. Remove from heat and let it cool slightly—this filling will go inside your roti, so it should be warm but not piping hot.
👨🍳 Step 2: Make the Roti Dough and Rest
In a large mixing bowl, combine the 3 cups all-purpose flour and 1.5 tsp salt. Use your fingers to break up any lumps in the flour—this ensures even texture in the final dough. Add the 0.5 cup cold, cubed unsalted butter and rub it into the flour until it resembles coarse crumbs with pea-sized butter pieces.
Make a well in the center and add the 0.5 cup plain yogurt. Mix gently with a fork or your fingers until the dough starts to come together. Avoid overworking it—just combine until it forms a shaggy mass. Knead the dough on a lightly floured surface for 5-7 minutes until smooth and elastic. If it feels too sticky, add a little more flour; if too dry, add a splash of water.
Shape the dough into a ball, cover with a damp towel, and let it rest for at least 30 minutes. This resting period relaxes the gluten, making it easier to roll out later. I like to place it in the fridge while I prepare the filling—it keeps the dough cool and workable.
🔥 Step 3: Roll and Stuff the Roti
Divide the rested dough into 4 equal portions (about 1 cup each). On a lightly floured surface, roll one portion into a thin circle, about 8 inches in diameter. You want it thin enough to cook through but not so thin it tears when you handle it. If it resists rolling, let it rest for another 5 minutes—don't force it.
Place about ¼ of the beef and potato filling in a line down the center of the rolled dough, leaving a 1-inch border around the edges. Fold the dough over the filling and seal the edges by pinching gently with your fingers. Roll the sealed roti gently between your palms to form a smooth, round shape—this helps it hold together during cooking.
🔥 Step 4: Cook the Roti to Golden Perfection
Heat a clean skillet over medium heat (no oil needed—the butter in the dough will release). Place the stuffed roti in the skillet and cook for 2-3 minutes per side until golden brown spots appear. You'll see the edges start to crisp—that's your signal to flip carefully using a spatula.
For the final touch, place the cooked roti under a preheated broiler for 1-2 minutes to achieve that perfect golden-brown color all over. Watch it closely to avoid burning. The roti is done when it's crispy on the outside and the filling is heated through. Serve immediately while still warm, with extra yogurt or a side of raita for dipping.
⏰ Step 5: Rest and Serve for Maximum Flakiness
Let the roti rest for 2-3 minutes before cutting into wedges. This resting period allows the filling to settle and the layers to set properly. The result should be flaky, crispy layers with a savory beef and potato filling that's perfectly seasoned.
Here's the thing—if you cut into it too soon, the layers might separate. Patience here ensures those beautiful flaky textures you're after. Serve with a side of cucumber salad or mint chutney to balance the richness of the roti.
Pro Tips For Making Beef And Potato Roti
- Pare the Potatoes Thinly: Russets are starchy and dense—if you slice them too thick, they’ll turn mushy instead of fluffy. Use a mandoline or sharp knife to cut them into ⅛-inch slices, then soak in cold water for 10 minutes to wash off excess starch. Pat very dry before layering, or your roti filling will steam instead of crisp.
- Brown the Beef First: I used to just crumble raw beef into the filling, and it stayed greasy and bland. Instead, cook the ground beef in a dry pan over medium-high heat until it’s deeply browned—no oil needed. Break it apart with a spoon, then drain most of the fat (leave a teaspoon for flavor). The crust on those bits makes all the difference.
- Rest the Dough Under a Damp Towel: This isn’t just about waiting—it’s about relaxing the gluten. Mix your flour, yogurt, and butter, then cover the dough with a damp kitchen towel and let it sit for at least 30 minutes. The towel keeps it from drying out, and the rest prevents those tough, chewy rotis. (Yes, even if you’re impatient like me.)
- Layer Potatoes in One Direction: Stacking potato slices haphazardly leads to uneven cooking—some slices burn, others stay raw. Instead, arrange them in a single direction (like shingles) in your roti, with the cut sides facing up. This guarantees even exposure to the heat and a consistent texture every bite. Sounds weird, but it works.
Dietary considerations for this recipe
Gluten-Free Adaptations
For those avoiding gluten, substitute the all-purpose flour with a 1:1 gluten-free flour blend like Bob's Red Mill or King Arthur Measure for Measure. Add ½ teaspoon xanthan gum to improve elasticity—this mimics the gluten structure.
Keep the cold butter and yogurt amounts the same, but expect slightly more delicate layers. Let the dough rest 10 minutes longer to help bind. 🌾
Dairy-Free Options
Replace the ½ cup unsalted butter with ½ cup dairy-free butter like Miyoko's or Earth Balance. For yogurt, use unsweetened coconut yogurt—it adds a subtle sweetness that balances the savory filling.
The dough may be slightly less tender, but the flavor stays rich. Test with a small batch first to adjust texture.
Vegetarian Swap
Replace the 1 lb ground beef with 1 lb crumbled firm tofu or lentils for a hearty texture. Sauté the tofu with the onions and spices until golden, then add the potatoes.
For extra protein, mix in ½ cup cooked quinoa with the filling. The flavor profile shifts but remains satisfying—just add 1 tsp soy sauce to deepen the umami. 🌱
Lower-Carb Version
Swap the 2 medium russet potatoes for 1 cup cauliflower rice or zucchini (diced). The filling becomes lighter but still flavorful. Reduce the dough to 2 cups gluten-free flour (if needed) to balance the lower-carb filling. Serve with a side of sautéed spinach to add volume without carbs.
Allergen-Friendly Tips
Check your garlic powder and ginger for soy or gluten cross-contamination if allergies are a concern. Use certified gluten-free spices from brands like Simply Organic. For nut-free kitchens, avoid any garnishes with almonds or cashews. Always verify labels—hidden allergens can sneak in!
Nutrition facts
Frequently asked questions
Why does my roti dough crack when rolling? The dough cracks when it's either too dry or hasn't rested long enough.
Can I make the filling ahead of time?
The filling actually tastes better when made a day in advance. Store it in an airtight container in the fridge for up to 4 days or freeze for 3 months. Reheat gently in a skillet over low heat until warmed through—this prevents the potatoes from turning mushy.
How do I prevent the filling from leaking out?
Seal the edges tightly when folding the dough, and roll the stuffed roti gently between your palms to create a smooth, compact shape. Use a 1-inch border of dough around the filling to contain it. If it still leaks, try reducing the filling amount slightly or using a thicker dough portion.
What's the best way to reheat leftover roti?
Reheat in a dry skillet over medium heat for 2-3 minutes per side until crispy again. For extra crispiness, place under a preheated broiler for 1 minute. Avoid microwaving—it makes the roti soggy. If reheating from frozen, let it thaw in the fridge overnight first.
Can I use sweet potatoes instead of russets?
Yes, but they'll add natural sweetness that changes the flavor profile. Use 1.5 cups diced sweet potato (they shrink more) and reduce the salt by 0.5 teaspoon to balance the sweetness. Cook them for 12-15 minutes until tender—they take longer than russets.
