Succulent Turkish köfte meatballs in a spiced tomato sauce make the coziest weeknight dinner: fragrant with cumin and paprika, tender and springy inside, finished in a bright, savory sauce. Serve with rice, bulgur, or lavash and a cooling spoon of thick yogurt for balance.
Ingredients
- Ground beef — 14 oz (400 g)
- Ground lamb — 7 oz (200 g)
- Yellow onion — 1 medium
- Garlic — 3 cloves
- Large egg — 1
- Plain breadcrumbs — 3 tbsp (45 ml)
- Whole milk — 3 1/2 tbsp (50 ml)
- Parsley, finely chopped — 2 tbsp (30 ml)
- Ground cumin — 1 tsp (5 ml)
- Sweet paprika — 1 tsp (5 ml)
- Red pepper flakes — 1/2 tsp (2.5 ml)
- Kosher salt — 1 tsp (5 ml)
- Freshly ground black pepper — 1/2 tsp (2.5 ml)
- Olive oil — 2 tbsp (30 ml)
- Tomato paste — 1 tbsp (15 ml)
- Tomato purée (passata) — 14 oz (400 g)
- Water or broth — 7 fl oz (200 ml)
- Sugar — 1/2 tsp (2.5 ml)
- Bay leaf — 1
- Thick yogurt for serving — 3.5 oz (100 g)
- Fresh herbs for serving — 0.35 oz (10 g)
Step-by-step recipe
- Combine the ground beef and lamb in a large bowl.
- Add finely grated onion, crushed garlic, the egg, breadcrumbs, milk, chopped parsley, cumin, paprika, red pepper flakes, salt, and black pepper.
- Mix vigorously for 2–3 minutes until the mixture becomes cohesive and slightly tacky. Chill for 10 minutes.
- With damp hands, form 20–24 small meatballs, about 1 oz (28–30 g) each.
- Heat a large skillet over medium heat. Add 1 tbsp olive oil and brown the meatballs on all sides until well-seared, 4–5 minutes. Transfer to a plate.
- In the same skillet, add the remaining 1 tbsp olive oil and the tomato paste. Cook, stirring, for 30 seconds to bloom.
- Pour in the tomato purée and water (or broth), add the sugar and bay leaf, bring to a simmer, and adjust salt to taste.
- Return the meatballs to the skillet, cover, and simmer gently for 10–12 minutes until cooked through.
- Remove from heat and rest for 5 minutes. Discard the bay leaf.
- Serve hot with a spoon of thick yogurt and fresh herbs. Excellent with rice, bulgur, or warm lavash.
Nutrition (per serving)
| Calories | 516 kcal |
| Protein | 32 g |
| Fat | 37 g |
| Carbs | 11 g |
| Fiber | 2 g |
| Sugars | 6 g |
| Sodium | 1.5 g |
📹 Watch video recipe in our Telegram channel
Tips & variations
- No lamb: swap the lamb for more beef for a milder flavor.
- Bake instead of pan-fry: bake shaped meatballs 12–15 minutes at 425°F (220°C), then transfer to the sauce and simmer 5–7 minutes.
- Heat level: adjust chili flakes to taste, or use smoked paprika for a subtle smoky note.
- Gluten-free: use gluten-free breadcrumbs or 2 tbsp rice flour; replace milk with water.
- For juiciness: mix the meat until slightly sticky—this yields meatballs that are tender yet hold their shape.
- Doneness: internal temperature should reach 165°F (72–74°C).
- Make-ahead: freeze formed raw meatballs on a sheet pan, then bag and store for up to 2 months.
FAQ
- Can I use only ground chicken or turkey?
Yes. Add 1 tbsp olive oil to the mixture for moisture and avoid overcooking when simmering. - What can I use instead of tomato purée?
Crushed canned tomatoes or finely chopped ripe tomatoes work well (about 1 lb (450 g)); increase tomato paste to 1 1/2 tbsp (22 ml). - What should I serve on the side?
Classics include basmati rice or bulgur. Also great with couscous, mashed potatoes, or warm lavash. - Can I make it without milk?
Yes. Replace the milk with water or plain (unsweetened) yogurt; the texture will stay tender.