Persian Meatballs (Koofteh)

5 from 12 votes

Koofteh (Persian meatballs) are the epitome of Iranian comfort food! This recipe for lamb meatballs with dried cherries and pistachios is a must-make!

overhead: homemade lamb meatballs on a white plate

Persian cuisine is well known and loved for dishes that combine unique flavors and textures.

Cooks use combinations of sweet fruit and warm spices for flavor, plus nuts or seeds for texture. When those ingredients pair up with a neutral-flavored food like rice or ground meat, the dish is elevated to unimaginable deliciousness!

A great example of this is Persian crispy rice. That dish features basmati rice with aromatic saffron and tart, crunchy pomegranate arils. After a unique cooking process, the rice becomes crispy on the bottom. It’s inverted onto a plate for serving. Tahdig is more than a simple side dish; it’s delicious edible art! 

A similar experience happens when you try koofteh for the first time. After the first bite, you’ll realize that these are not ordinary lamb meatballs.

What does Koofteh taste like?

There are different variations of koofteh. Some include a combination of ground lamb with split peas, while others call for plums, dates, or raisins.

My meatball mixture is a combination of ground lamb, warm Middle Eastern spices, crunchy pistachios and sweet dried cherries. The result is an explosion of sweet, salty, and earthy flavors.

Trust me. Persian meatballs are out of this world delicious!

closeup of ground lamb meatballs

Ingredient Notes and Substitutions

  • Ground lamb– Most koofteh recipes call for lamb, but ground beef, ground turkey or even ground chicken would be fine.
  • Chopped pistachios– I recommend using unsalted or lightly salted pistachios if you can find them. Some brands are more heavily salted than others, and if there’s too much salt, it could overpower the flavor of the lamb.

    You can use a different type of nut if you’d like. Almonds would be a good choice.

If you have any leftover pistachios, use them to make pistachio brittle for dessert!

  • Dried cherries– The tart-sweet flavor of the cherries pairs really well with pistachios. Dried cranberries would make a good substitute for the cherries
  • Egg- This ingredient helps bind the meat mixture together so that the meatballs don’t fall apart in the pan. If you need an egg substitute, you can use a flax egg.

    To make a flax egg, stir together 3 tablespoons of water and 1 tablespoon of ground flaxseed in a small bowl. Then let it sit in your fridge for about 10 minutes to thicken.
  • Bread crumbs– I use unseasoned regular bread crumbs. If you prefer a bit more texture, you can use panko breadcrumbs instead.
  • Spices- I use a combination of cumin, coriander, celery seed and fennel seed to season the lamb meatballs. To keep things simple, you can use ground spices. If you like to grind your own, you’ll want to dry toast the whole spices for a few minutes before grinding them.
  • Cooking oil or ghee– You’ll use this to pan fry the Persian meatballs. If you’ll be using cooking oil, it’s best to use one with a neutral flavor. Good choices are avocado oil, olive oil, canola, or vegetable.

For the Gravy

After cooking the koofteh, you’ll use the lamb drippings to make a simple pan gravy. In addition to the drippings, you’ll need a shallot, some all-purpose flour, and chicken or vegetable broth (or stock)

Note About the Size of Persian Meatballs

Keep in mind that this is my take on an authentic koofteh recipe. Traditionally, the meatballs can be much larger; some are the size of a baseball.

The large size allows enough room for each meatball to be stuffed with whole dates or plums. Due to the large size, large Persian meatballs are often braised in liquid to ensure that they cook through completely.

For this recipe, the meatballs are much smaller; each is approximately the size of a golf ball. Rather than braising them, they are pan-fried in a skillet.

To ensure that they cook evenly, it’s important to keep them as close in size as possible.

The task is easiest using a kitchen scale to weigh the meat. Another option is to scoop the meat mixture with a medium sized cookie dough scoop.

overhead: serving spoon in large pot of meatballs in brown gravy

Tips For Making Juicy Tender Meatballs

Making meatballs that turn out dry and tough is frustrating. This can happen for a couple of reasons:

  1. Too many dry ingredients in the mixture.
    A common kitchen myth is that if there isn’t a wet ingredient like milk or egg in the mixture, meatballs can be dry and tough.

    Using an egg doesn’t add moisture; it acts as the binding agent to hold the ingredients together.

    The actual reason for dry, tough meatballs is typically that there are too many dry ingredients in the mixture. You only need 1/3 cup of breadcrumbs to hold a pound of ground meat together.
  2. The ingredients are overworked.
    If you’ve ever made bread like lavash or simit, you know that overworking the dough causes the proteins in the flour to seize. This creates a tough, chewy final product.

    The same science applies with meat. Use a light hand when mixing the ingredients, and stop mixing when everything is barely incorporated.

    Another thing that helps is to whisk the egg before adding it to the other ingredients. This way, the yolk is broken, making it easier to incorporate with the other ingredients.
  3. The meatballs are over cooked.
    The USDA recommends cooking ground beef to an internal temperature of 155°F. Ground lamb meatballs are safe to consume when the internal temperature is 160°F.
side view: koofteh in gravy served in white bowl

What to Serve with Koofteh

There is a variation of this dish called koofteh farenji, which includes rice in the meatball mixture. In this case, because there isn’t rice in the Persian meatballs, a side dish of baked Persian saffron rice (tahchin) would be a great addition to the meal.

The meatballs are covered in a rich pan gravy that begs to be sopped up with homemade Khubz, naan, or Armenian Flatbread.

extreme close up: Persian spiced meatballs
Still Hungry?

Subscribe to my Newsletter, follow me on Facebook, Pinterest, Instagram and YouTube for all my latest recipes and videos.

overhead: homemade lamb meatballs on a white plate

Persian Meatballs (Koofteh)

5 from 12 votes
Koofteh (Persian meatballs) are the epitome of Iranian comfort food! This recipe for lamb meatballs with dried cherries and pistachios is a must-make!
Servings: 4
Prep: 10 minutes
Cook: 20 minutes
Total: 30 minutes



  • In a bowl add the lamb, pistachios, dried cherries, spices (See Note 1), salt, cilantro, breadcrumbs and egg. Mix together by hand until incorporated completely. Use a 1 1/2-inch scoop or roll into small balls, about the size of a golf ball. Makes between 18-20 meatballs. Set aside.
  • In a large frying pan add the olive oil and brown the meatballs on all sides. Remove from pan and keep warm.
  • Over medium heat in the same pan sauté the shallot until translucent. Add the flour and cook for a minute, stirring to cook the flour. Gradually add the chicken stock a little at a time, stirring to incorporate completely and thicken. Season with salt if needed.
  • Add the cooked meatballs back to the pan and turn to coat all over with pan sauce. Cover with lid and cook on low for 2 minutes to heat meatballs through. Serve with rice.



  1. If you like to use whole spices: Use the 1/2 tsp celery seed, 1 teaspoon each of coriander, cumin and fennel seed.  In a skillet over medium heat, toast the celery seed, coriander, cumin and fennel seeds until aromatic, just a minute or two tops. Don’t burn them, you just want to release their essential oils. Grind in a spice grinder.
  2. Ground beef, turkey or chicken can be substituted for the ground lamb if that is not to your liking, but I highly recommend you try it.


Calories: 550kcal | Carbohydrates: 24g | Protein: 26g | Fat: 38g | Saturated Fat: 14g | Trans Fat: 1g | Cholesterol: 126mg | Sodium: 605mg | Potassium: 472mg | Fiber: 2g | Sugar: 7g | Vitamin A: 418IU | Vitamin C: 1mg | Calcium: 78mg | Iron: 4mg

The information shown is an estimate provided by an online nutrition calculator. It should not be considered a substitute for a professional nutritionist’s advice.

Course: Main Course
Cuisine: Persian
Author: Kevin
Have You Made This Recipe? Let Me Know on InstagramTag @keviniscooking or tag me #keviniscooking!
titled image shows close up of middle eastern meatballs known as Koofteh


I was bitten by the cooking bug as a kid cooking and baking along side my mom. After an ROP restaurant course in high school, I went to work in restaurants and catering. My love of travel and food has led me across the world and I love to share those foods with family and friends.

Free Bonus
Kevin's Guide to Amazing International Cooking
My secrets to authentic & delicious international recipes

Explore More

Leave a comment

Your email address will not be published. Required fields are marked *

Recipe Rating


  1. 5 stars
    I mixed lamb with ground turkey and added apricots instead. Outstanding! I have not made the broth yet, and I am remaking the recipe again and making the broth!!!

  2. 5 stars
    Hi Kevin! Took your advice and bought dried sour cherries for this recipe. Wow what great flavours! These meatballs are a definite hit in this household. Thank you very much for sharing the recipe!

  3. Hi, I am really looking forward to making these meatballs. However, I have a question regarding the cherries. Here in the UK we have a choice of dried sweetened cherries, dried unsweetened cherries and dried sour cherries. Which do you use in your recipe?

    1. Hi Margaret! The cherries I usually pick up are from Costco, they are labeled Dried Tart Montmorency Cherries. I would use the dried sour cherries if that is available. Enjoy the recipe. 🙂

  4. 5 stars
    Meatballs is that kind of food that is always welcome in our house! This is definitely a must try recipe!

  5. 5 stars
    I had never tried this type of meatball before, and I’m so happy that I did! The flavors and the spices were on point!

    1. 5 stars
      Thank you so much for posting various alternatives! I used turkey instead of lamb because of dietary preferences; garlic, cumin, and coriander for the spices because of availability; and we skipped the gravy. The family raved about it and, bonus, the house smells amazing. We love strong flavors so next time I’d add more cherries and pistachios. This customizable recipe is a winner. Cant wait to make it again.

  6. 5 stars
    will be making this soon with few subs perfect for my after office meals will dm you if i make this and let you know how it goes Thanks Ramya