Skip to content
Zaffaron

Goosht Ghelgheli ba Spaghetti (گوشت قلقلی با اسپاگتی) — Persian Meatballs with Pasta

Tender Persian-style meatballs simmer in a bright tomato-basil sauce, then spooned over spaghetti. This modern comfort dish balances savory beef, gentle spices, and fresh herbs for an easy family dinner.

By Zaffaron Kitchen· Published March 16, 2026 Verified Recipe
Dairy-Free Nut-Free Halal
Contains: eggs, gluten
80 min total Prep 35m · Cook 45m 4 servings 680 cal ~$3.4/serving
↓ Jump to Recipe
Goosht Ghelgheli ba Spaghetti — Persian Meatballs with Pasta - authentic persian recipe

Printable Recipe Card

Servings: 4 · Total: 80 min · Difficulty: medium

Ingredients (quick list)

  • 500 g Ground beef (85–90% lean) (Prefer freshly ground for best texture)
  • 60 g White bread crumbs (Fine, dry crumbs)
  • 1 large Egg (Lightly beaten)
  • 180 g Onion (Grated on the fine holes; squeeze lightly to remove excess liquid)
  • 8 g Salt (About 1 1/4 tsp, for the meatballs)
  • 2 g Black pepper (About 1 tsp, freshly ground)
  • 30 ml Neutral oil (Such as sunflower or canola)
  • 12 g Garlic (Minced (about 3 cloves))
  • 480 ml Tomato sauce (Plain, unsweetened)
  • 300 g Tomatoes (Ripe; grated or finely crushed)
  • 240 ml Water (Add more if sauce thickens too much while simmering)
  • 20 g Basil leaves (Fresh; torn, plus extra for serving if desired)

+ 1 more in the full ingredients section below.

Steps (summary)

  1. Make the meatball mixture: In a large bowl combine ground beef, bread crumbs, beaten egg, grated onion, salt, and black pepper.…
  2. Shape the meatballs: Lightly wet your hands with cool water. Portion the mixture into 24 meatballs (about 28–30 g each) and rol…
  3. Build the tomato-basil sauce: Heat oil in a wide, deep skillet or Dutch oven over medium heat. Add diced onion and cook 6–8 min…
  4. Simmer the sauce: Stir in tomato sauce, grated tomatoes, water, salt, and black pepper. Bring to a gentle simmer over medium-hi…
  5. Cook the meatballs in the sauce: Reduce the sauce to a steady, gentle simmer (small bubbles). Nestle meatballs into the sauce i…
  6. Finish with basil: Turn heat to low. Stir in torn basil leaves and simmer 1–2 minutes just to perfume the sauce without dulling…

+ 2 more steps in the full instructions section below.

Cultural Background

Persian-style spaghetti and meatballs is a popular modern home dish in Iran, reflecting local tastes for fragrant herbs and tomato-based sauces. It is commonly cooked for family dinners because it is familiar, filling, and easy to scale for guests.

savorytomato-brightherbalumami-forwardtender-meatballssilky-sauceal-dente-pastabasilgarlicslow-simmered-tomato🌶 mild

Equipment

Large mixing bowlBox graterChef’s knife and cutting boardWide deep skillet or Dutch oven with lidWooden spoonLarge pot for pastaColanderInstant-read thermometer (optional)

💡 Tips

  • Squeezing the grated onion lightly prevents watery meatballs while keeping them juicy.
  • Keep the sauce at a gentle simmer when adding meatballs; a hard boil can break them apart.
  • For deeper flavor, brown the meatballs in 1 tbsp oil for 2–3 minutes per side, then finish cooking in the sauce.
  • Tear basil instead of chopping to reduce bruising and bitterness.
  • If your tomato sauce is acidic, simmer 5 extra minutes and add 30 ml more water; avoid adding sugar unless necessary.

⚠️ Common Mistakes

  • ❌ Overmixing the meatball mixture

    💡 Why: Too much mixing develops a tight, rubbery texture and can make meatballs dense.

    ✅ Fix: Mix only until cohesive (2–3 minutes). Rest 10 minutes so crumbs hydrate instead of mixing longer.

  • ❌ Boiling the sauce aggressively after adding meatballs

    💡 Why: A rolling boil can break delicate meatballs and reduce sauce too fast, leading to scorching.

    ✅ Fix: Keep a gentle simmer (small bubbles). Stir the sauce around the meatballs rather than stirring them hard.

  • ❌ Adding basil too early

    💡 Why: Long cooking dulls basil’s fresh aroma and can turn it dark and bitter.

    ✅ Fix: Add basil in the last 1–2 minutes, or off heat, then cover briefly to infuse.

  • ❌ Overcooking spaghetti

    💡 Why: Soft noodles turn mushy once topped with hot sauce and lose the intended bite.

    ✅ Fix: Drain at al dente and finish with sauce on the plate; use reserved pasta water to loosen if needed.

🧊 How to Store

Refrigerate meatballs and sauce (separately from pasta if possible) in airtight containers for up to 4 days. Freeze meatballs in sauce for up to 3 months. Reheat gently on the stove with 30–60 ml water, covered, until steaming hot; cook fresh pasta for best texture.

📅 Make Ahead

Form meatballs up to 24 hours ahead and refrigerate covered. The sauce can be made 2 days ahead and reheated gently; cook pasta fresh. For meal prep, freeze cooked meatballs in sauce, then thaw overnight in the refrigerator before reheating.

🍽️ Pairs Well With

  • Shirazi salad (cucumber
  • tomato
  • onion with lemon)
  • Pickled vegetables
  • Plain yogurt or cucumber yogurt
  • Fresh herbs and radishes

Regional Variations

  • Tehran-style home cookingOften made with a smoother, more concentrated tomato sauce and smaller meatballs; some households add a little turmeric for warmth and color.
  • Northern Iran (Caspian-influenced kitchens)May include more fresh herbs in the sauce (extra basil or parsley) and a slightly tangier tomato profile using very ripe tomatoes.
weeknight dinner family gatherings potluck-style meals student-friendly cooking
#family-style#weeknight-dinner#comfort-food#tomato-based#herb-forward

Ingredients

  • 500 gGround beef (85–90% lean) (Prefer freshly ground for best texture)
  • 60 gWhite bread crumbs (Fine, dry crumbs)
  • 1 largeEgg (Lightly beaten)
  • 180 gOnion (Grated on the fine holes; squeeze lightly to remove excess liquid)
  • 8 gSalt (About 1 1/4 tsp, for the meatballs)
  • 2 gBlack pepper (About 1 tsp, freshly ground)
  • 30 mlNeutral oil (Such as sunflower or canola)
  • 12 gGarlic (Minced (about 3 cloves))
  • 480 mlTomato sauce (Plain, unsweetened)
  • 300 gTomatoes (Ripe; grated or finely crushed)
  • 240 mlWater (Add more if sauce thickens too much while simmering)
  • 20 gBasil leaves (Fresh; torn, plus extra for serving if desired)
  • 320 gSpaghetti (Dry)

🔄 Substitutions

  • Ground beef→ Ground lamb or a 50/50 beef-lamb mix
  • White bread crumbs→ Panko breadcrumbs, pulsed briefly
  • Basil leaves→ Flat-leaf parsley plus a small amount of dried oregano (1/2 tsp)

Instructions

  1. 1

    Make the meatball mixture: In a large bowl combine ground beef, bread crumbs, beaten egg, grated onion, salt, and black pepper. Mix with your hand for 2–3 minutes until tacky and cohesive, but stop before it becomes paste-like. Cover and rest 10 minutes at room temperature so crumbs hydrate.

  2. 2

    Shape the meatballs: Lightly wet your hands with cool water. Portion the mixture into 24 meatballs (about 28–30 g each) and roll until smooth. Place on a tray in a single layer. Keep them covered while you start the sauce to prevent the surface from drying out.

  3. 3

    Build the tomato-basil sauce: Heat oil in a wide, deep skillet or Dutch oven over medium heat. Add diced onion and cook 6–8 minutes, stirring often, until translucent and lightly golden. Add garlic and cook 30 seconds until fragrant, lowering heat if it starts to color.

  4. 4

    Simmer the sauce: Stir in tomato sauce, grated tomatoes, water, salt, and black pepper. Bring to a gentle simmer over medium-high heat, then reduce to medium-low. Simmer uncovered for 10 minutes, stirring every few minutes, until the raw tomato smell fades and the sauce looks glossy.

  5. 5

    Cook the meatballs in the sauce: Reduce the sauce to a steady, gentle simmer (small bubbles). Nestle meatballs into the sauce in one layer. Cover and cook 12 minutes, then uncover and simmer 10–12 minutes more, turning meatballs once, until cooked through (71°C/160°F) and tender.

  6. 6

    Finish with basil: Turn heat to low. Stir in torn basil leaves and simmer 1–2 minutes just to perfume the sauce without dulling the herb. Taste and adjust salt and pepper. If the sauce is too thick, add 30–60 ml water; if too thin, simmer 3–5 minutes uncovered.

  7. 7

    Boil the spaghetti: While meatballs finish, bring a large pot of water to a rolling boil. Add pasta-water salt, then add spaghetti and stir for 30 seconds to prevent sticking. Cook until al dente per package timing (typically 9–11 minutes). Reserve 120 ml pasta water, then drain.

  8. 8

    Serve Persian-style: Divide spaghetti among warm plates. Spoon tomato-basil sauce over the pasta and top with 5–6 meatballs per serving. Loosen with a splash of reserved pasta water if needed for a silky finish. Rest 2 minutes before eating so sauce clings to the noodles.

🪪 Recipe Passport

Origin: Persian Cuisine
Researched by: Zaffaron Kitchen
Published: March 16, 2026

Cultural Background

Persian-style spaghetti and meatballs is a popular modern home dish in Iran, reflecting local tastes for fragrant herbs and tomato-based sauces. It is commonly cooked for family dinners because it is familiar, filling, and easy to scale for guests.

Regional Variations

Tehran-style home cooking: Often made with a smoother, more concentrated tomato sauce and smaller meatballs; some households add a little turmeric for warmth and color.
Northern Iran (Caspian-influenced kitchens): May include more fresh herbs in the sauce (extra basil or parsley) and a slightly tangier tomato profile using very ripe tomatoes.

Researched from multiple sources and validated by the Zaffaron editorial team. Every recipe is tested for accuracy, measurements, and cultural authenticity.

Share:

Nutrition per serving

680
Calories
38g
Protein
26g
Fat
72g
Carbs
6g
Fiber
1250mg
Sodium

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

Reviews

—
Rated 0.0 out of 5 stars
0 reviews

Cooked this recipe?

Tap the stars to rate it — that's all it takes. A few words are welcome but optional.

Please sign in to rate this recipe.
Rated 0.0 out of 5 stars

No ratings yet. Cooked this one? Be the first to rate it — it takes one tap.