Greek Meatballs – Keftedes

Jenny Skrapaliori-Graves | Last Updated: July 19, 2026

Greek meatballs served with tzatziki, crispy fries, cucumber, olives and a lemon wedge on a white plate.

Greek meatballs — keftedes (κεφτέδες) — are one of the most beloved dishes in Greece, and for good reason. Crispy and golden on the outside, soft and fluffy inside, and loaded with fresh mint, parsley, and oregano, they’re the kind of thing that disappears off the plate before they even hit the table. This is the traditional recipe I grew up with — fried the authentic way, with a few notes for baking, freezing, and serving them souvlaki-style.

If you love our Greek meatballs recipe, try Traditional Soutzoukakia, Low-Carb Turkey Meatballs, or the Juicy Lamb Meatballs.

Traditional Greek meatballs with a lemon wedge, fresh oregano and creamy tzatziki dipping sauce.

Why you will love this recipe


  • This is the real thing. No shortcuts, no “Greek-inspired” — this is the keftedes recipe I grew up eating, straight from a Greek kitchen, not an American take on Greek food.
  • That crunchy-outside, soft-inside texture comes from soaking the bread in milk instead of using dry breadcrumbs. It’s the difference between a meatball and a keftes.
  • The herbs do the heavy lifting. Fresh mint, parsley, and oregano (plus their dried counterparts) give these a bright, summery flavor you won’t get from a jar of Italian seasoning.
  • One recipe, endless ways to eat it. Serve them as a meze, tuck them into pita like a souvlaki wrap, or simmer them in tomato sauce for a completely different dinner — see the variations below.
  • They reheat beautifully, which makes them one of my go-to make-ahead proteins for the week.

Here is what you need

Ingredients for keftedes.
  • Ground beef & pork—each cut provides a perfect balance of flavor.
  • White bread with crust cut off—You can also use brioche bread. It’s lovely with this meatball recipe.
  • Whole milk—To soak the bread.
  • Onions and garlic—Grated onions add flavor and make juicy meatballs.
  • Fresh spearmint, parsley, and oregano—Herbs give such a lovely summery note. You can use all fresh herbs or just one. If fresh is not available, use their dried versions. Substitute the spearmint with mint.
  • Extra virgin olive oil—Just a tablespoon or two in the mixture.
  • Eggs—They are the binding agent that keeps the mixture together when formed into meatballs.
  • A little vinegar and a shot of ouzo (optional)—The popular alcoholic drink that tastes like licorice perfectly complement Greek meatballs. You can replace the ouzo with a teaspoon of ground aniseed or omit it from the recipe.
  • Dried oregano, mint, chili flakes, and ground cumin. Dried herbs have a more intense flavor than fresh. I like to use both versions.
  • Sea salt and freshly ground pepper.
  • All-purpose flour—To lightly dust the meatballs. It creates a light crust when fried.

Step by step

A bowl with milk and pieces of bread on a working surface surrounded with other meatball ingredients.
  1. Soak the bread in the milk.
  2. Carefully squish the bread with your hands so most of the milk is out. It’s ok if the bread feels like it still has some milk left over. The goal is to have a moist, fluffy meatball mixture.
  3. In a large bowl, add the bread and all the other ingredients.
  4. Add the ouzo shot. Using it is optional. You can substitute with ground anise seed or ground star anise. See recipe notes.


Meatball ingredients in a green bowl.
  1. Using clean hands, mix everything and knead until moist and fluffy. Cover the mixture with a towel and refrigerate for at least 30 minutes.
  2. Take some of the mixture (about two tablespoons) with a large spoon and shape it into a ball. You can also use an ice cream scooper or your hands.
Meatball ingredients in a green bowl.
  1. Spread some flour on a plate. Run the meatballs in the flour.
  2. Shake off the excess and place them on a clean plate until all your meatballs are ready for frying.​


Formed meatballs dusted with flour on a plate.
  1. Add enough oil to cover 2/3 of a deep frying pan and turn the heat to high. When the oil is hot, fry the meatballs in small doses, about 2 minutes on each side, until golden brown.
  2. Remove from heat with a slotted spoon and arrange them on absorbent paper to drain the excess oil.​
Taverna-style plate of Greek meatballs and fries with tzatziki, olives and lemon on a wooden table.

What to serve with keftedes

Tips for the best keftedes

  • Grate your onion, don’t dice it. Grated onion releases its juice straight into the mix, which keeps the keftedes moist and adds flavor you can’t get from diced onion. Keep those juices — don’t drain them.
  • Don’t skip the rest time. Refrigerating the mixture for at least 30 minutes (I often go a full hour) lets the bread fully absorb the milk and the flavors settle. Rushing this step gives you a looser, harder-to-shape mixture.
  • Handle the meat gently. Mix and shape with a light touch. Overworking the meat is the #1 reason keftedes turn out dense instead of fluffy.
  • Always fry a test one. I know I mention this in the Q&A below, but it’s worth repeating here: fry one meatball first, taste it, and adjust the salt before you shape the rest of the batch.
  • Keep the oil at temperature. Fry in small batches so the oil doesn’t cool down — overcrowding the pan is what leads to greasy, pale meatballs instead of a golden crust.
  • Make a double batch. Keftedes freeze so well (see storage below) that it’s almost always worth doubling the recipe while you’re already elbow-deep in the mixture.
Two plates of Greek keftedes served meze-style with fries, olives, cucumber and tzatziki.

Storage and reheating

  • In the fridge: Cooked keftedes keep for 3–4 days in an airtight container. Reheat gently in a frying pan over medium-low heat, or in the microwave in a covered glass container. A splash of water or olive oil in the pan helps keep them from drying out.
  • In the freezer (cooked): Let the meatballs cool completely, then freeze in a single layer on a baking sheet until solid, about an hour. Transfer to a freezer-safe bag, pressing out as much air as possible. They’ll keep for 3–4 months. Reheat straight from frozen in a covered pan over low heat, or thaw overnight in the fridge first.
  • In the freezer (uncooked): Shape the raw meatballs and freeze them the same way — flash-freeze them on a tray, then bag. This is my favorite make-ahead trick for weeknights: fry them straight from frozen, just add a few extra minutes to the cook time.
  • Meal prep tip: Keftedes are one of the few fried foods that taste just as good at room temperature, which makes them ideal for packed lunches or a make-ahead meze platter.

Ways to serve & variations

Keftedes with tomato sauce — Simmer fried (or baked) keftedes in a simple tomato sauce — crushed tomatoes, olive oil, garlic, a bay leaf, and a pinch of sugar to balance the acidity — for about 15 minutes. This turns them into more of a main course, perfect spooned over rice, orzo, or with crusty bread to mop up the sauce. It’s a completely different (and equally traditional) way to eat them compared to serving them dry with tzatziki.

Keftedes pita, souvlaki-style — Warm a pita, spread it with tzatziki, and load it up with keftedes, tomato, red onion, and a handful of fries tucked right inside — just like you’d build a souvlaki wrap. This is hands-down my favorite way to eat leftovers.

Lamb and beef keftedes — Swap the ground beef for ground lamb and keep the beef. Lamb brings a richer, slightly gamey flavor that pairs beautifully with the mint and oregano. This version leans even more traditional in some parts of Greece.

Other easy swaps

  • No pork on hand? Ground sausage (sweet or hot Italian) subs in nicely.
  • Ground turkey works too — see the recipe notes for the small ingredient adjustment.
  • No bread? Use breadcrumbs plus a touch more milk to keep the mixture moist.

FAQs

Keftedes are Greek meatballs made with ground meat, soaked bread, fresh herbs, and warm spices, then fried until crispy on the outside and soft inside. They’re often considered one of Greece’s most iconic dishes and are served as a meze, appetizer, or main.

Keftedes use soaked bread instead of breadcrumbs for a fluffier texture, lean heavily on fresh mint, parsley, and oregano, and are typically served on their own — not smothered in sauce — with tzatziki, fries, or a Greek salad on the side.

I use a small ice cream scooper (about 2 tablespoons) per meatball, and plan on 4–5 keftedes per person as an appetizer.

Yes. Preheat the oven to 350°F/180°C, place the meatballs on a parchment-lined baking sheet, brush generously with olive oil, and bake 20–25 minutes until browned. Frying is the traditional method and gives a juicier result, but baking is a great lighter option.

Fry a single test meatball before shaping the whole batch. Taste it, adjust the salt in your mix, and you’ll also get a feel for exactly how long the rest need to cook.

Yes — the mixture actually improves after resting. You can make it up to a day ahead and keep it covered in the fridge until you’re ready to shape and fry.

I use extra light olive oil for the flavor, but it’s not essential — sunflower or another neutral vegetable oil works just as well.

Cooked it? Rate it!

If you tried this recipe, I’d love to know how you liked it — drop a comment below or tag me on Instagram @thegreekfoodie__.

The Greek Foodie Logo in yellow and black.
Greek meatballs served with tzatziki, crispy fries, cucumber, olives and a lemon wedge on a white plate.

Greek Meatballs – Keftedes

by Jenny Skrapaliori Graves
Delicious Greek meatballs with lots of herbs and olive oil.
4.72 from 25 votes
Prep Time 10 minutes
Cook Time 25 minutes
Resting time 1 hour
Total Time 1 hour 35 minutes
Course Appetizer, Main Course
Cuisine Greek
Servings 35 meatballs (approximately)
Calories 114 kcal

Equipment

  • Deep frying pan

Ingredients
  

  • 1 lb ground beef
  • 1 lb ground pork
  • 8 slices white bread, with the crust cut off.
  • 2 cups whole milk
  • 1 large onion, grated. Keep the juices. I usually go for red onions.
  • 2 cloves garlic , minced.
  • 1 cup fresh spearmint leaves , finely chopped.
  • 1 cup fresh parsley , finely chopped.
  • ½ cup fresh oregano leaves , roughly chopped
  • 2 tbsp extra virgin olive oil
  • 1 teaspoon ground cumin
  • 1 tbsp dried oregano
  • 1 tablespoon dried spearmint, or mint
  • 2 eggs
  • 1 tbsp red wine vinegar
  • 1 tablespoon red chili flakes
  • 1 shot ouzo , or 1-2 tsp ground aniseed. Optional.
  • sea salt
  • freshly ground pepper

For frying

  • 1/2 cup all purpose flour
  • Extra light olive oil or sunflower oil

Instructions
 

  • Soak the bread in the milk. Carefully squish the bread so most of the milk is out.
  • In a large bowl, add the bread and all the other ingredients—season with salt and freshly ground pepper. Add the ouzo shot or 1-2 tsp ground aniseed. Mix everything and knead well until the mixture is moist and fluffy.
  • Cover with a towel and leave in the refrigerator for at least 30 minutes to allow all the flavors to incorporate together well.​
  • Spread some flour on a plate. Use a small ice-cream scooper or a spoon or your hand and take about 2 tbsp of the mixture and shape it into a ball.  Run ball in the flour, shake off the excess, and place on a clean surface until all your meatballs are ready for frying.​
  • In a deep frying pan, add enough oil to cover 2/3 of the pan. Turn the heat on to medium-high. When the oil is hot, fry the meatballs (in small doses), about 2-3 minutes tops on each side, until golden brown. Remove from heat and arrange them on absorbent paper to drain the excess oil.​

Notes

  • I suggest mincing the onion pretty well. I use my food processor because my knife skills aren’t perfect for dicing veggies very small. You can also grate it on the large holes of a coarse grater.
  • If you don’t have ouzo, substitute with 1-2 tsp ground anise seeds or ground star anise. If none are available, omit them altogether.
  • You can use breadcrumbs if you don’t have bread; add about 1/2 cup of milk to increase the mix’s moisture.  You can substitute ground pork for ground sausage, such as sweet Italian or hot Italian, to give the meatballs a nice kick. 
  • If you have ground turkey, use the same ingredients apart from the bread. Substitute with 1/2 to 1 cup breadcrumbs (depending on how wet the ground turkey is) and add 1 tbsp ground coriander to the mixture.
 
Nutritional Info – Please keep in mind that the nutritional information provided is only an estimate and can vary based on the products used.

Nutrition

Calories: 114kcalCarbohydrates: 6gProtein: 6gFat: 7gSaturated Fat: 3gPolyunsaturated Fat: 1gMonounsaturated Fat: 3gTrans Fat: 1gCholesterol: 30mgSodium: 58mgPotassium: 143mgFiber: 1gSugar: 1gVitamin A: 319IUVitamin C: 3mgCalcium: 56mgIron: 1mg
Tried this recipe?Mention @thegreekfoodie__ or tag #thegreekfoodie__
Greek Meatballs - Keftedes

Similar Posts

4.72 from 25 votes (6 ratings without comment)

Leave a Reply

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

Recipe Rating




39 Comments

  1. 5 stars
    I love a good meatball recipe. Perfect for pasta, subs or as an appetizer. We love Greek food. I know these would be a hit in our house.

  2. 5 stars
    This Greek meatballs are so easy and so good. My family adored these . The fresh herbs are good and smell so good with they are cooking. I served these with a simple salad and It was a hit.

  3. We love Greek food, it just pack full of flavour and fresh ingredients. We have many recipes that we constantly cook but never heard of this one! Saving it to make for friends and family!

  4. 5 stars
    These Greek meatballs are a delicious change of pace for weeknight dinners. They are perfect alongside a greek salad.

  5. Yum! Love the trick of cooking one first to see if the seasonings are right! Can I freeze these meatballs?

  6. 5 stars
    I love Greek flavors so I bet I’m gonna love these meatballs too. They sound super delicious – love the mint inside. Yum! I will save this recipe and give it a try. Can’t wait!

  7. 5 stars
    One can never have enough meatball recipes! This is such an amazing looking meatballs. It makes me drool!

  8. 5 stars
    Love the Greek flavors in this! I’m not a meat-eater myself but know that my family would just love these flavorful meatballs!

    1. Hi Nolene! You can definitely fry them in a deep fat fryer. My advice would be to set the temperature to 375 F and do a test drive with just one meatball first to determine how long to fry. Try 3 minutes at first and adjust accordingly. Also, once you determine the fry time do not overcrowd the deep fryer pan because it will lower the temperature. Fry in small batches. Good luck, come back and let me know how they came out. Thanks so much for making my keftedes! x Jenny

  9. Wow, I am a huge fan of meatballs…and Greek food. How did I not know the Greek version is deep fried? I am missing out! They look amazing and so flavourful too. Gotta try this meatball method ASAP.

  10. 5 stars
    I used vegan mince but these were still delightful! I love all the classic Greek flavours that made them taste so authentic!

  11. 5 stars
    Yum, these look delicious! I have never added spearmint or mint to my meatballs – how interesting! Excited to give these a try!

  12. 5 stars
    These meatballs were so much better than the regular plain meatballs we’re used to. They were packed with flavor and everyone really enjoyed them!

  13. 5 stars
    I love serving meatballs that are not covered in red sauce, so this recipe caught my eye. I don’t cook in Greek style but the ingredients are intriguing with the spearmint and anise flavor.

  14. 5 stars
    These meatballs are so flavorful and tasty! The addition of pork made them extra tender and juicy which is a big plus because there’s nothing worse than a dry meatball. Great recipe!

  15. I love Greek meatballs. With a cool yogurt sauce on the side these are heaven…the touch of anise is perfect too! Love the flavorings here.

  16. 5 stars
    Your post is so informative! I love the flavourings that you have used for these meatballs and they look delicious!

  17. 5 stars
    My family loves meatballs and these Greek meatballs did not disappoint . We loved the flavor and they held together nicely. Thanks for a great recipe !