The dramatic large-format Herati meatballs — fist-sized lamb-and-rice meatballs concealing a soft-boiled egg and a few barberries at the center, gently simmered in a saffron-tomato gravy until the outside is set and the inside reveals its egg-and-fruit surprise when cut. Served on rice or with naan. A wedding-table dish in Herat; never weekday food.
Herat, in western Afghanistan, sits close to Iran and is deeply Persian-influenced, and this egg-stuffed meatball is the local continuation of a Persian tradition. The egg-in-meatball technique appears across the Persian, Turkish, and Lebanese tables — the most famous example being koofteh Tabrizi from Tabriz in northwest Iran. The Herati version leans lighter and herb-forward: alongside lamb, rice, and split peas the mixture carries a generous amount of fresh herbs, and adds barberries (zereshk) — a Persian pantry staple that lends sour bursts. The ceremonial nature comes from the labor: each meatball is built slowly by hand, with the egg placed precisely at the center, then sealed.
The first cut is the show — the meatball opens, the soft yolk runs out into the tomato sauce, the barberries flash ruby red. Take a bite with meat, egg, and a barberry: lamb savor, egg richness, a sour-tart pop of barberry. The rice worked into the meat soaks up the juices and keeps it tender; the saffron-tomato sauce ties it to the rice on your plate. Too laborious for everyday cooking — this is a wedding dish.
Rice in the meat mixture acts as a starch scaffold that absorbs the meat juices, preventing the meatball from becoming dense or dry — this is the Persian advantage over Italian polpette, which can over-tighten when bound with meat alone. The roughly 6-minute egg yields a yolk that is still liquid at the center; this is the magic moment when the meatball is cut. Gentle simmering (not boiling) is critical — vigorous boiling would shatter the meatballs and overcook the egg. Saffron is bloomed in warm water (not added dry) to release its color and flavor.
Variations
Herati classical (lamb + rice + egg + barberry + saffron-tomato); the Persian Tabriz version is even larger (one meatball serves a person) and uses dried plums instead of barberries; the Mashhad version omits the egg and adds chopped pistachios; a modern Tehran chef version sears the meatball briefly before braising for a crusty exterior; a tomato-free version simmers the meatballs in saffron-yogurt sauce.
On the Palate
Where Kofteh Herati sits in the Afghan flavor cloud
The whole payoff is the runny yolk at the center, so soft-boil the eggs to exactly 6 minutes and keep the sauce at a bare simmer — a hard boil would set the yolk and shatter the meatballs.
Ingredients
Serves 4How it's made
9 steps · 1 hour 15 min active + 1 hour 15 min waiting
- 112 min
Soft-boil 4 eggs: bring water to a boil, add eggs, cook exactly 6 minutes, then ice-bath. Carefully peel under cool running water (yolks should still be runny). Set aside.
Watch outPull the eggs at exactly 6 minutes — the white just set, the yolk still fully liquid when peeled under cool water.
- 222 min
Cook 1/2 cup short-grain rice in 1 cup water with 1/2 tsp salt for 18 minutes. Let cool.
- 37 min
Soak 2 tbsp dried barberries (or substitute dried cranberries) in warm water 5 minutes; drain.
- 48 min
In a large bowl combine 600g ground lamb, the cooled rice, 1 finely-grated onion (squeezed dry), 1 tsp salt, 1/2 tsp black pepper, 1 tsp ground cumin, 1 tsp ground coriander, 1/2 tsp ground cinnamon, 1/4 tsp ground allspice (or nutmeg), 2 tbsp chopped parsley, 2 tbsp chopped mint.
- 535 min
Knead the mixture by hand 6 minutes until very tacky and uniform. Chill 30 minutes for easier handling.
- 625 min
Make sauce: heat 3 tbsp oil in a wide pot over medium. Add 1 diced onion; cook 10 minutes until golden. Add 3 minced garlic cloves; cook 1 minute. Stir in 2 tbsp tomato paste, 1 tsp turmeric, 1/2 tsp paprika; cook 2 minutes. Add 3 chopped tomatoes; mash. Pour in 750 ml hot water; add a generous pinch of saffron threads bloomed in 2 tbsp warm water. Simmer 5 minutes. Season with 1 tsp salt.
- 718 min
Form meatballs: wet hands with cold water. Divide the meat mixture into 4 equal portions. Take one portion, flatten in palm, place a soft-boiled egg and a teaspoon of barberries in the center, gather the meat up around the egg, and roll into a tight ball. Wet hands to smooth seams. Repeat with the rest. Handle gently — they break easily.
Watch outWet your hands and gather the meat fully around the egg with no gaps, then roll into a tight seamless ball.
- 836 min
Lower the meatballs into the simmering sauce. Cover and gently simmer 35 minutes — turn meatballs carefully at the midpoint with two spoons. Do not let the sauce boil hard; that will toughen the meat.
Watch outKeep the sauce at a lazy simmer with just a few bubbles rising — never a hard rolling boil.
- 97 min
Lift meatballs onto a serving platter. Reduce sauce 5 minutes uncovered. Pour sauce over the meatballs. Cut each meatball in half at the table to reveal the egg and barberries. Serve with steamed rice or torn naan.
Archive tool suggestions — not reviewed
These legacy suggestions have not been evidence-reviewed and are not presented as required tools.

A heavy enameled or bare cast-iron lidded pot, 4-7 liters, with thick walls and a snug lid. The mass evens out hotspots; the lid traps moisture for braising. Sears on the stovetop, then transfers to a 150°C oven for 3-4 hours of even, contained heat — the structural difference between a beef bourguignon that comes out luminous and one that turns to gray mush. Le Creuset and Staub are the celebrated versions; an old American Wagner is functionally identical.

Round metal pot, 14-26 cm diameter, with vertical walls and a long handle, designed for sauces, soups, oatmeal, rice, boiled vegetables. The vertical walls minimize evaporation (vs. a sauté pan). Sizes: 1 qt for melting butter, 2-3 qt for sauces, 4 qt for soups. Stainless-steel-clad aluminum or copper is best for conduction; cast-iron is too thick for delicate sauces.






