Keftedes (Κεφτέδες) — Greek Pan-Fried Herbed Meatballs
Keftedes are classic Greek meatballs scented with oregano, mint, and garlic, traditionally pan-fried until deeply golden. They’re a beloved taverna meze and a home-cooking staple, often served with lemon, pita, and cool tzatziki.

Printable Recipe Card
Servings: 4 · Total: 45 min · Difficulty: medium
Ingredients (quick list)
- 500 g ground beef (85% lean) (for juicier, more traditional texture)
- 150 g yellow onion, grated (squeeze lightly to remove excess liquid)
- 12 g garlic, finely grated (about 3 medium cloves)
- 20 g fresh parsley, finely chopped
- 8 g fresh mint, finely chopped (or 2 tsp dried mint if needed)
- 2 tsp dried oregano
- 1 tsp ground cumin (common in many Greek home versions)
- 0.25 tsp ground cinnamon (optional but traditional in some regions)
- 1.5 tsp fine sea salt (about 9 g)
- 1 tsp black pepper, freshly ground
- 1 egg (large)
- 60 g breadcrumbs (fine, unseasoned)
+ 5 more in the full ingredients section below.
Steps (summary)
- Hydrate the breadcrumbs by mixing the breadcrumbs and milk in a bowl until evenly moistened. Let it stand for 5 minutes so the…
- In a large bowl, combine the ground beef, grated onion, garlic, parsley, mint, oregano, cumin, cinnamon, salt, and black pepper…
- Cover the mixture and refrigerate it for 10 minutes to firm up and help the flavors meld. This short rest also makes shaping ea…
- Portion the mixture into 16 meatballs, about 45 g each, and roll them firmly between your palms. Flatten each slightly into a t…
- Place the flour in a shallow dish and lightly coat each meatball, shaking off excess. The thin flour layer helps create the cha…
- Heat the olive oil in a wide skillet over medium heat until it reaches about 175°C; the oil should shimmer and a small pinch of…
+ 1 more steps in the full instructions section below.
Cultural Background
Keftedes are a hallmark of Greek taverna culture, served as meze to share alongside salads, dips, and bread. The signature mix of mint, oregano, and garlic reflects Greece’s herb-forward cooking and the Mediterranean love of simple, boldly seasoned frying.
Equipment
💡 Tips
- Squeeze the grated onion lightly; too much onion juice can make the mixture loose and cause splattering during frying.
- Keep the oil near 170–180°C; cooler oil makes greasy meatballs, while hotter oil browns the crust before the center cooks.
- For extra aroma, rub the dried oregano between your fingers before adding to release its essential oils.
⚠️ Common Mistakes
❌ Overmixing the meat mixture until it becomes dense and springy.
✅ Fix: Mix just until cohesive, about 60–90 seconds; a short chill firms the mixture without extra mixing.
❌ Oil temperature too low, leading to greasy meatballs.
✅ Fix: Preheat properly and maintain 170–180°C; fry in batches so the oil temperature doesn’t crash.
❌ Making meatballs too large, so the outside browns before the center cooks.
✅ Fix: Aim for 45 g portions and flatten slightly; if needed, lower heat to medium-low and add 1–2 minutes per side.
🧊 How to Store
Cool leftovers within 1 hour, then refrigerate in an airtight container for up to 3 days. Reheat on a sheet pan at 180°C for 8–10 minutes, or warm in a skillet with 10 ml oil over medium heat for 4–5 minutes, turning once, to restore crispness.
📅 Make Ahead
Shape and flour the meatballs up to 24 hours ahead, arranging them on a tray, covering tightly, and refrigerating. Fry just before serving for the best crust, or par-fry for 2 minutes per side, chill, and finish frying for 1–2 minutes per side to re-crisp.
🍽️ Pairs Well With
- Tzatziki
- warm pita
- horiatiki (Greek salad)
- lemon-roasted potatoes
- olives
- feta.
Regional Variations
- Crete-style: add 30 g crumbled feta into the mixture and reduce salt to 1.25 tsp for a tangy, creamy bite.
- Island taverna style: replace 1 tsp oregano with 1 tsp dried thyme and add 1 tbsp chopped dill for a greener profile.
- Smoky modern version: add 0.5 tsp sweet paprika and serve with roasted red pepper dip instead of tzatziki.
Ingredients
- 500 gground beef (85% lean) (for juicier, more traditional texture)
- 150 gyellow onion, grated (squeeze lightly to remove excess liquid)
- 12 ggarlic, finely grated (about 3 medium cloves)
- 20 gfresh parsley, finely chopped
- 8 gfresh mint, finely chopped (or 2 tsp dried mint if needed)
- 2 tspdried oregano
- 1 tspground cumin (common in many Greek home versions)
- 0.25 tspground cinnamon (optional but traditional in some regions)
- 1.5 tspfine sea salt (about 9 g)
- 1 tspblack pepper, freshly ground
- 1egg (large)
- 60 gbreadcrumbs (fine, unseasoned)
- 60 mlwhole milk (to hydrate breadcrumbs)
- 1 tbspred wine vinegar (brightens and tenderizes)
- 40 gall-purpose flour (for a light crust)
- 120 mlolive oil (for shallow-frying)
- 4 wedgelemon wedges (one wedge per serving)
🔄 Substitutions
- ground beef (85% lean)→ ground lamb
- fresh mint, finely chopped→ dried mint
- whole milk→ water
Instructions
- 1
Hydrate the breadcrumbs by mixing the breadcrumbs and milk in a bowl until evenly moistened. Let it stand for 5 minutes so the crumbs fully absorb the liquid and keep the meatballs tender.
- 2
In a large bowl, combine the ground beef, grated onion, garlic, parsley, mint, oregano, cumin, cinnamon, salt, and black pepper. Add the egg, red wine vinegar, and the soaked breadcrumbs, then mix with your hands for 60–90 seconds until cohesive but not overworked.
- 3
Cover the mixture and refrigerate it for 10 minutes to firm up and help the flavors meld. This short rest also makes shaping easier and reduces cracking during frying.
- 4
Portion the mixture into 16 meatballs, about 45 g each, and roll them firmly between your palms. Flatten each slightly into a thick puck so the centers cook through before the crust gets too dark.
- 5
Place the flour in a shallow dish and lightly coat each meatball, shaking off excess. The thin flour layer helps create the characteristic crisp, golden exterior without making the meatballs heavy.
- 6
Heat the olive oil in a wide skillet over medium heat until it reaches about 175°C; the oil should shimmer and a small pinch of flour should sizzle immediately. Fry in two batches, leaving space between pieces, for 3–4 minutes per side until deeply golden and cooked through.
- 7
Transfer the keftedes to a rack or paper-lined plate and rest them for 3 minutes so the juices redistribute. Serve hot with lemon wedges, squeezing about 1 tsp lemon juice per portion right before eating for a bright, taverna-style finish.
🪪 Recipe Passport
Cultural Background
Keftedes are a hallmark of Greek taverna culture, served as meze to share alongside salads, dips, and bread. The signature mix of mint, oregano, and garlic reflects Greece’s herb-forward cooking and the Mediterranean love of simple, boldly seasoned frying.
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

Fasolakia Lathera (Φασολάκια λαδερά) — Greek Green Beans Braised in Tomato and Olive Oil
Greek · Main Courses · 70 min

Kokoretsi (Κοκορέτσι) — Charcoal-Grilled Offal Wrapped in Caul Fat
Greek · Kebabs · 170 min

Lagana (Λαγάνα) — Sesame-Topped Greek Clean Monday Flatbread
Greek · Breads · 43 min

Cuban Crispy Shredded Beef (Vaca Frita) — Garlic and Citrus
Cuban · Main Courses · 140 min

Pone Yay Gyi Curry (ပုန်းရည်ကြီးဟင်း) — Burmese Pork and Fermented Bean Paste
Burmese · Main Courses · 115 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

Portuguese Salt Cod with Potatoes and Eggs (Bacalhau à Brás) — Lisbon-Style Comfort Classic
Portuguese · Main Courses · 70 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.