South African Fried Bread with Spiced Beef
Crispy-outside, pillowy-inside fried bread pockets stuffed with seasoned ground beef—a beloved South African comfort food. Quick enough for weeknight dinner, impressive enough for a casual gathering.
- Total time
- 45 min
- Servings
- 4
- Calories
- 720
- Protein
- 28g

Ingredients
- 2 cups all-purpose flour
- 2 teaspoons baking powder
- ½ teaspoon salt
- 2 tablespoons butter, cold and cubed
- ¾ cup whole milk
- 2 cups vegetable oil, for frying
- 1 pound ground beef
- 1 whole medium yellow onion
- 3 whole garlic cloves
- ½ cup canned diced tomatoes
- 1 tablespoon tomato paste
- 1 teaspoon ground cumin
- ½ teaspoon ground coriander
- ½ teaspoon chili powder
- ½ teaspoon salt
- ¼ teaspoon black pepper
- ½ cup beef stock or water
- 1 cup grated sharp cheddar cheese
- ½ cup sour cream or plain yogurt
- 3 tablespoons fresh cilantro or parsley, chopped
Instructions
- 1
In a large mixing bowl, whisk together 2 cups all-purpose flour, 2 teaspoons baking powder, and 0.5 teaspoon salt. Add 2 tablespoons cold butter, cubed into small pieces. Using your fingertips, rub the butter into the flour until the mixture resembles coarse breadcrumbs — this creates pockets of air that make the vetkoek light and fluffy.
- 2
Pour in 0.75 cup whole milk gradually, stirring with a fork until the dough comes together into a soft, slightly sticky ball. Don't overmix — you want a tender crumb, not a tough dough. The dough should come away from the sides of the bowl but still feel slightly damp.
- 3
Turn the dough out onto a lightly floured surface and knead gently for 1 minute until just combined. Divide into 8 equal portions and roll each into a ball. Cover with a damp kitchen towel while you prepare the filling — this prevents a skin from forming on the dough.
- 4
Set a 10-inch skillet over medium-high heat and add the ground beef. Break it apart with a wooden spoon as it cooks, stirring frequently until no pink remains and the meat is light golden brown, about 5–6 minutes. Drain off most of the rendered fat, leaving about 1 tablespoon in the pan for flavor.
- 5
While the beef cooks, dice 1 medium yellow onion into 0.25-inch pieces and finely mince 3 garlic cloves. Once the beef is cooked, add the onion to the pan and sauté over medium heat until softened and turning translucent, about 3–4 minutes. Add the minced garlic and cook for another 30 seconds until fragrant.
- 6
Stir in 1 tablespoon tomato paste and cook for 1 minute, stirring constantly — this deepens the savory flavor. Add 1 teaspoon ground cumin, 0.5 teaspoon ground coriander, and 0.5 teaspoon chili powder. Stir well and cook for 30 seconds until the spices bloom and smell fragrant.
- 7
Pour in 0.5 cup canned diced tomatoes (with juice) and 0.5 cup beef stock or water. Add 0.5 teaspoon salt and 0.25 teaspoon black pepper. Bring to a simmer and cook uncovered for 8–10 minutes, stirring occasionally, until the liquid reduces by half and the mixture becomes thick, rich, and textured. You should see small bubbles breaking the surface — if it's too wet, the vetkoek will get soggy.
- 8
Taste and adjust seasoning if needed. Remove from heat and let cool slightly — you want the filling warm but not piping hot when you fill the vetkoek, as extreme heat can rupture the dough.
- 9
Pour 2 cups vegetable oil into a deep 3-quart saucepan or heavy-bottomed pot. Heat over medium-high heat until the oil reaches 350°F on an instant-read thermometer — it should shimmer and ripple but not smoke. To test without a thermometer: drop a small piece of dough into the oil; it should sizzle immediately and float to the surface in about 10 seconds.
- 10
Working one at a time, gently flatten a ball of dough into a 3-inch disk using the heel of your hand or a small saucer. Carefully slide it into the hot oil — it will immediately begin to puff and bubble. Fry for 1.5–2 minutes on the first side, watching for golden-brown color. The bottom will rise naturally as it cooks.
- 11
Using a slotted spoon or long-handled spider strainer, carefully flip the vetkoek and fry the second side for another 1–1.5 minutes until golden and crispy all over. The whole vetkoek should puff up and feel hollow inside — this is the sign of a perfectly cooked one.
- 12
Transfer the cooked vetkoek to a plate lined with paper towels to drain excess oil. Repeat with the remaining dough balls, maintaining the oil temperature at 350°F. If the temperature drops between batches, wait 30 seconds for it to recover before frying the next batch.
- 13
While the vetkoek is still warm and crispy, use a small sharp knife to carefully slice open the top of each one, creating a pocket. Spoon 2–3 tablespoons of the warm beef filling inside, then top with a generous pinch of 1 cup grated sharp cheddar cheese. Add a dollop of 0.5 cup sour cream or plain yogurt and scatter with fresh cilantro or parsley. Serve immediately while the bread is still warm and crispy.
Tools you’ll need
- large mixing bowl
- whisk
- fork
- lightly floured surface
- damp kitchen towel
- 10-inch skillet
- wooden spoon
- 3-quart heavy-bottomed saucepan or pot
- instant-read thermometer
- slotted spoon or long-handled spider strainer
- paper towels
- small sharp knife
- measuring cups and spoons
Cook smarter
Get matched recipes for what’s in your fridge
CookSnap is a free iOS app that finds real recipes from the ingredients you already have. No more grocery-list aspirations.