Indian lamb kofta curry

Kofta is not simply a meatball, but an artistic intertwining of spices and meat. This Indian dish is about slow simmering and layering flavours. The characterful, fatty taste of lamb is the perfect counterpoint to the creamy, sweet coconut milk sauce. The secret lies in the balance of spices and the thorough kneading of the meat, which prevents the skewered meat from falling apart and ensures it cooks into a juicy, resilient log.
🕒 Prep Time 30 mins
🍳 Cook Time 40 mins
Total Time 1 hr 10 mins
🍽️ Servings 4 servings
🔥 Calories 680 kcal
🌍 Cuisine Indian

Ingredients

Equipment Needed

  • Large mixing bowl
  • Wide pan or pot with lid
  • Sharp knife for chopping

Instructions

1

Put minced meat in a bowl. Add half the onion (very finely chopped), half the fresh coriander, ground cumin, ground coriander, half the garam masala, salt, and pepper. Knead thoroughly with hands until mixture becomes sticky.

Tip: Kneading changes protein structure forming a web that holds meatballs together without egg (myosin precipitation).
2

With wet hands form walnut-sized balls and place on a tray.

Tip: If you refrigerate meat for 20 mins before shaping, fat solidifies making it easier to work with.
3

Heat oil in large pan. Add meatballs (don't overcrowd!) and fry on medium-high heat until golden brown all over. Remove to a plate.

Tip: This searing (Maillard reaction) gives the deep, roasted flavour essential for good curry.
4

In same pan (in remaining fat) fry remaining onion until glassy and soft. Add crushed garlic and grated ginger, fry another 1 minute until fragrant.

Tip: Caramelising onion gives sauce sweetness and body.
5

Stir in turmeric, remaining garam masala, chilli, and tomato purée. Fry 1-2 minutes stirring constantly until spices darken.

Tip: Heating spices in oil "wakes up" essential oils, intensifying flavour (fat-soluble flavours).
6

Pour in coconut milk, stir smooth, and bring to boil. Salt to taste.

Tip: Use full fat coconut milk for creamier result.
7

Return meatballs to sauce. Simmer covered on low heat 15-20 minutes until meat is cooked through and sauce thickens.

Tip: During slow simmering meatball flavour cooks into sauce, and sauce flavour into meatballs (osmosis and diffusion).
8

Serve sprinkled with remaining fresh coriander. Offer with Basmati rice or Naan bread.

Recipe FAQ

Why did the meatball fall apart in the sauce?
You probably didn't work the meat enough, or didn't sear the crust thoroughly before putting in sauce.
Sauce is too runny, what to do?
Remove meatballs and boil sauce on higher heat for a few minutes until water evaporates and it thickens.

Ingredients

  • 500 g Minced lamb (or fatty beef)
  • 2 pcs Onions (finely chopped)
  • 3 cloves Garlic (crushed)
  • 20 g Fresh ginger (grated)
  • 20 g Fresh coriander (stalks and leaves)
  • 1 tsp Ground cumin
  • 1 tsp Ground coriander seeds
  • 1 tsp Garam masala
  • 1 tsp Turmeric
  • 0.5 tsp Chilli powder
  • 2 tbsp Tomato purée
  • 400 ml Coconut milk (tinned)
  • 3 tbsp Sunflower oil or Ghee
  • 1 tsp Salt
  • 0.5 tsp Black pepper