Kufteh Reyhan (کوفته ریحان) — Persian Basil Meatballs in Tangy Tomato Sauce
Tender Persian basil meatballs made with rice, chickpea flour, and aromatics, simmered in a bright tomato sauce finished with fresh lemon juice. Fragrant, savory, and perfectly balanced for weeknight or guests.

Printable Recipe Card
Servings: 4 · Total: 100 min · Difficulty: medium
Ingredients (quick list)
- 70 g Basmati rice (rinsed well)
- 720 ml Water (for par-cooking rice and sauce as needed)
- 8 g Kosher salt (divided)
- 500 g Ground beef (80–85% lean for best texture)
- 180 g Yellow onion (grated on the fine holes, then squeezed to remove excess juice)
- 60 g Scallions (finely sliced (white and green parts))
- 12 g Garlic cloves (finely grated or minced)
- 60 g Fresh basil leaves (finely chopped)
- 1 large Egg (about 50 g without shell)
- 18 g Chickpea flour (about 2 tablespoons, helps bind and tenderize)
- 2 g Ground turmeric (about 1 teaspoon)
- 1 g Ground black pepper (about 1/2 teaspoon)
+ 5 more in the full ingredients section below.
Steps (summary)
- Par-cook the rice: bring 480 ml water to a boil in a small pot, then stir in the rinsed basmati rice and 3 g of the salt. Boil…
- Make the meatball mixture: in a large bowl combine ground beef, squeezed grated onion, scallions, garlic, chopped basil, egg, c…
- Shape and chill: lightly wet your hands and form 10–12 meatballs (about 65–75 g each). Place on a tray and refrigerate 15 minut…
- Build the tomato base: heat 20 ml vegetable oil in a wide pot or deep skillet over medium heat. Add the diced onion and cook 8–…
- Toast the tomato paste and spices: add tomato paste, turmeric, cumin, and sugar. Cook 2–3 minutes, stirring constantly, until t…
- Simmer the sauce: pour in 600 ml water and bring to a gentle boil, then reduce to a steady simmer over medium-low. Cover and co…
+ 2 more steps in the full instructions section below.
Cultural Background
Herb-forward meatballs simmered in tomato sauce are part of a broader home-cooking tradition in Iran, where fresh greens are used to build aroma and balance richness. Dishes like this are commonly served family-style with rice or bread, and lemon is often used to brighten stews and sauces.
Equipment
💡 Tips
- Squeezing moisture from the grated onion is key; excess liquid can make the mixture loose and cause meatballs to crack.
- Keep the sauce at a bare simmer after adding meatballs; rapid boiling can toughen the meat and break the meatballs apart.
- If the mixture feels soft, chill 10–15 minutes longer; colder fat and hydrated binders hold shape better.
- For extra aroma, add half of the finishing basil right after turning off the heat and the rest at the table.
⚠️ Common Mistakes
❌ Boiling the sauce hard after adding meatballs
💡 Why: Aggressive bubbling can shake the meatballs apart and make the meat tough.
✅ Fix: Keep a gentle simmer (small bubbles at the edges) and use a wide pot so meatballs sit in a single layer.
❌ Skipping the step of cooking the tomato paste
💡 Why: Raw tomato paste can taste sharp and metallic, and the sauce will lack depth.
✅ Fix: Toast the paste with oil and spices for 2–3 minutes until it darkens slightly and smells sweet.
❌ Using wet onion pulp in the meat mixture
💡 Why: Too much moisture weakens binding and can cause cracking during simmering.
✅ Fix: Grate onion, then squeeze firmly; if needed, add 5–8 g more chickpea flour to tighten the mixture.
❌ Adding lemon juice early in cooking
💡 Why: Extended heat can dull fresh citrus aroma and increase perceived bitterness.
✅ Fix: Stir in lemon juice after turning off the heat, then rest 5 minutes before serving.
🧊 How to Store
Cool to room temperature within 2 hours, then refrigerate in an airtight container with sauce for up to 3 days. Reheat covered on the stovetop over low heat with 60–90 ml water, 10–12 minutes, until the center reaches 74°C. Freeze up to 2 months; thaw overnight in the refrigerator before reheating.
📅 Make Ahead
Form the meatballs up to 24 hours ahead and refrigerate covered. The sauce can be made up to 2 days ahead; reheat to a gentle simmer before adding meatballs. Cooked meatballs in sauce taste even better the next day as the basil and tomato flavors meld.
🍽️ Pairs Well With
- Steamed basmati rice
- Tahdig (crispy rice)
- Shirazi salad
- Plain yogurt with cucumber and dried mint
- Warm flatbread
Regional Variations
- Tehran and central IranOften made with a smoother, more concentrated tomato sauce and served with steamed rice; some cooks add a small pinch of ground saffron dissolved in hot water to the sauce for aroma.
- Northern Iran (Caspian-influenced home cooking)May lean more heavily on fresh herbs and include a slightly more sour finish, sometimes achieved by adding a bit more lemon juice or a small amount of verjuice in place of part of the lemon.
Ingredients
- 70 gBasmati rice (rinsed well)
- 720 mlWater (for par-cooking rice and sauce as needed)
- 8 gKosher salt (divided)
- 500 gGround beef (80–85% lean for best texture)
- 180 gYellow onion (grated on the fine holes, then squeezed to remove excess juice)
- 60 gScallions (finely sliced (white and green parts))
- 12 gGarlic cloves (finely grated or minced)
- 60 gFresh basil leaves (finely chopped)
- 1 largeEgg (about 50 g without shell)
- 18 gChickpea flour (about 2 tablespoons, helps bind and tenderize)
- 2 gGround turmeric (about 1 teaspoon)
- 1 gGround black pepper (about 1/2 teaspoon)
- 30 mlVegetable oil (divided)
- 60 gTomato paste (about 4 tablespoons)
- 1 gGround cumin (about 1/2 teaspoon)
- 6 gGranulated sugar (about 1 1/2 teaspoons, balances acidity)
- 45 mlFresh lemon juice (about 3 tablespoons, added at the end)
🔄 Substitutions
- Ground beef→ Ground lamb
- Chickpea flour→ Breadcrumbs
- Fresh basil→ Fresh parsley plus fresh mint
Instructions
- 1
Par-cook the rice: bring 480 ml water to a boil in a small pot, then stir in the rinsed basmati rice and 3 g of the salt. Boil 6 minutes, until the grains are swollen but still firm. Drain well and spread on a plate to cool 10 minutes so it does not steam the meat mixture.
- 2
Make the meatball mixture: in a large bowl combine ground beef, squeezed grated onion, scallions, garlic, chopped basil, egg, chickpea flour, turmeric, black pepper, the cooled par-cooked rice, and the remaining 5 g salt. Mix vigorously by hand for 3–4 minutes until tacky and cohesive for tender, intact meatballs.
- 3
Shape and chill: lightly wet your hands and form 10–12 meatballs (about 65–75 g each). Place on a tray and refrigerate 15 minutes to firm. This short rest helps the chickpea flour and rice hydrate, reducing cracking when simmered in the sauce.
- 4
Build the tomato base: heat 20 ml vegetable oil in a wide pot or deep skillet over medium heat. Add the diced onion and cook 8–10 minutes, stirring, until soft and lightly golden. Add minced garlic and cook 30 seconds, just until fragrant.
- 5
Toast the tomato paste and spices: add tomato paste, turmeric, cumin, and sugar. Cook 2–3 minutes, stirring constantly, until the paste darkens slightly and smells sweet rather than raw. This step deepens flavor and prevents a metallic tomato taste in the finished sauce.
- 6
Simmer the sauce: pour in 600 ml water and bring to a gentle boil, then reduce to a steady simmer over medium-low. Cover and cook 10 minutes, stirring once or twice, until slightly thickened. Taste and adjust with a small splash of water if it seems too concentrated.
- 7
Cook the meatballs gently: reduce heat to low so the sauce barely bubbles. Add the chilled meatballs one by one, spacing them out. Drizzle the remaining 10 ml oil over the surface. Cover and simmer 25 minutes, turning the meatballs carefully once at minute 15 to cook evenly without breaking.
- 8
Finish with lemon and basil: uncover and simmer 5 minutes to thicken to a spoon-coating consistency. Turn off the heat and stir in the fresh lemon juice. Rest 5 minutes, then scatter torn basil on top. Serve hot with sauce spooned generously over each meatball.
🪪 Recipe Passport
Cultural Background
Herb-forward meatballs simmered in tomato sauce are part of a broader home-cooking tradition in Iran, where fresh greens are used to build aroma and balance richness. Dishes like this are commonly served family-style with rice or bread, and lemon is often used to brighten stews and sauces.
Regional Variations
Researched from multiple sources and validated by the Zaffaron editorial team. Every recipe is tested for accuracy, measurements, and cultural authenticity.
Nutrition per serving
Pairs well with
If you enjoyed this recipe, here are a few related Zaffaron recipes to try next.
Does your family make this differently?
Every family has their own version. Maybe your grandmother adds a secret ingredient, or your aunt has a completely different technique. Preserve your family's version — with their name on it, forever.
You Might Also Like

Bulgar Kabab (کباب بلغار) — Persian Rolled Saffron Fillets
Persian · Kebabs · 37 min

Jujeh Kabab (جوجه کباب) — Saffron-Turmeric Chicken with Rustic Tomato Sauce
Persian · Kebabs · 45 min

Jigar Kabab (جگر کباب) — Classic Persian Lamb Liver Skewers
Persian · Kebabs · 33 min

Swedish Smörgåsbord (Smörgåsbord) — Classic Buffet with Gravlax, Sill, and Köttbullar
Swedish · Main Courses · 115 min

Potato Dumplings with Smoked Meat (Strapačky s údeným mäsom) — Rustic Slovak Halušky with Sauerkraut
Slovak · Main Courses · 70 min

Salgam Juice (Şalgam) — Spicy, tangy fermented black-carrot drink
Turkish · Drinks · 25 min

Bazlama (بازلاما) — Puffy Turkish Village Flatbread Cooked on a Saj
Turkish · Breads · 38 min

Romanian Polenta (Mămăligă) — Firm Cornmeal Porridge
Romanian · Side Dishes · 30 min
Reviews
Cooked this recipe?
Tap the stars to rate it — that's all it takes. A few words are welcome but optional.
No ratings yet. Cooked this one? Be the first to rate it — it takes one tap.