Greek meatballs, or keftedes, are often called the national Greek food. These crunchy but fluffy meatballs are delicious with lots of fresh herbs and aromatics. They are perfect for a quick snack, a tasty appetizer, or the star of the table.
If you love this meatball recipe, try our Traditional Soutzoukakia, Low-Carb Turkey Meatballs, or the Best Lamb Meatballs.

Why this recipe sings
Here is what you need

- Ground beef & porkโ Each cut gives a perfect balance of flavor.
- White bread with crust cut offโYou can also use brioche bread, it is 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 complements 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

- Soak the bread in the milk.
- 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.

- In a large bowl, add the bread and all the other ingredients.
- Add the ouzo shot. Using it is optional. You can substitute with ground anise seed or ground star anise. See recipe notes.

- Using clean hands, mix everything and knead until moist and fluffy. Cover the mixture with a towel and refrigerate for at least 30 minutes.
- 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.

- Spread some flour on a plate. Run the meatballs in the flour.
- Shake off the excess and place them on a clean plate until all your meatballs are ready for frying.โ
- 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.
- Remove from heat with a slotted spoon and arrange them on absorbent paper to drain the excess oil.โ

- 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.
- Remove from heat with a slotted spoon and arrange them on absorbent paper to drain the excess oil.โ

- Greek meatballs can be served immediately or later. Warm them in a frying pan with a tablespoon of olive oil.

What to serve with keftedes
- For a real taverna experience, serve keftedes family-style with homemade fries, boiled wild greens, or a horiatiki tomato salad. Add some saganaki cheese, tzatziki sauce, and a couple of pieces of bread, and you have a traditional Greek meal.
- Grab one (or two) keftedes with some toasted pita as a snack.
- Our meatballs make a great addition to a Mediterranean meze platter board.
Tips & helpful Q& A
I use a small ice cream scooper, about two tablespoons, to shape one meatball, so four or five keftedes are enough for one person.
Always use your hands to mix them. With a light touch, your hands will incorporate all the ingredients without crushing the meat. You don’t want to over-mix.
When it is time to roll the meatballs, lightly oil your hands. The oil will make it easier to roll and prevent the mixture from sticking to your hands. You can also lightly wet your hands. Alternatively, wear food-safe plastic gloves to mix.
Yes, you can!
Preheat the oven to 350ยฐ F/180ยฐC. Place meatballs on a baking sheet lined with parchment paper. The parchment paper ensures that the meatballs do not stick to the baking sheet, making cleanup easy. Brush them generously with olive oil and bake for 20-25 minutes or until browned. The frying method is traditional, and the meatballs are a little juicier.
Do a seasoning test before shaping the meatballs. Create one ball, roll it in the flour, and fry it. Taste it to check if I need to add more salt to my mix. Under-seasoning can be an easy miss. Another benefit to this test is knowing how long is required to fry the meatballs to achieve the perfect crisp outside and juicy inside.
Because I love the flavor olive oil gives to meatballs, I useย extra light olive oilย for frying. But it is not necessary and can be costly. You can use sunflower oil or the vegetable oil of your choice.

Storage and reheating
- Greek meatballs can be kept in the fridge for 3โ4 days. Reheat in a frying pan over medium-low heat or in the microwave in a glass container
- You can uncooked freeze meatballs for extra speedy dinner weeknights. Shape them, arrange them on a baking sheet, and then put them in the freezer until they are hard for about one hour. Transfer the frozen meatballs into a large freezer-safe bag, seal it, remove as much air as possible, and place it back in the freezer. They are freezer-safe for up to three to four months.
You may also like
Cooked this? Rate this recipe! You can also leave a comment below. I love hearing from you!
WANT TO EAT LIKE A GREEK? Subscribe to my newsletter and follow me on Facebook, Pinterest, and Instagram for all of the latest updates.


Greek Meatballs – Keftedes
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
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 are not perfect for dicing veggies really 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 with ground sausage, like a sweet Italian or hot Italian ground sausage to give a nice kick to the meatballs.ย
- 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.
Nutrition

I’m making this tonight! With fries! And green salad! Yum! X
Hope all the family liked them Eri! Thank you xo
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.
Hope you like them Gloria! Thank you so much!
I really love meatballs and this Greek meatballs or keftedes recipe is making me crave right now. I will definitely try making this at home.
Hope you like them! Thank you so much Dennis!
They look delicious! Moist and tender, juicy and so tasty!
Thank you so much!
These meatballs look delicious! Thank you for the the step by step instructions, they will be helpful when I make them!
Thank you so much Denise.
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.
Thank you Debbie! So glad you liked them!
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!
Thank you Laura!
These Greek meatballs are a delicious change of pace for weeknight dinners. They are perfect alongside a greek salad.
Thank you so much Sharon
Yum! Love the trick of cooking one first to see if the seasonings are right! Can I freeze these meatballs?
Yes, you can freeze them either cooked or uncooked for 3-4 months. Thank you so much!!
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!
Thank you so much Natalie!
One can never have enough meatball recipes! This is such an amazing looking meatballs. It makes me drool!
Thank you so much Jo!
Love the Greek flavors in this! I’m not a meat-eater myself but know that my family would just love these flavorful meatballs!
Thank you so much Alena!
Hi could I fry them in a deep fat fryer? What temp and confirm 2 minutes they should be done?
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
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.
I used vegan mince but these were still delightful! I love all the classic Greek flavours that made them taste so authentic!
Yum, these look delicious! I have never added spearmint or mint to my meatballs – how interesting! Excited to give these a try!
I baked mine to help avoid reduce the amount of fat and they were delightful!
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!
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.
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!
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.
Your post is so informative! I love the flavourings that you have used for these meatballs and they look delicious!
Thank you so much Hayley! x
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 !