Indian Chicken Meatballs in Yogurt Sauce Recipe
Tender chicken meatballs simmer in a gently spiced onion-and-yogurt sauce flavored with cumin, coriander, ginger, garlic, and paprika. A milk-soaked wheat-bread panade keeps the chicken soft, while tempering the yogurt produces a tangy, creamy sauce without relying on high heat or heavy stirring.
Kofta appears in many forms across India and the wider South Asian region, including meatballs served in spiced gravies. This is a streamlined Indian-style chicken kofta rather than a claim to one definitive regional preparation. Its restrained cumin-coriander seasoning and yogurt-based sauce make it a mild, home-style interpretation.
The bread panade is especially useful with lean ground chicken: it holds milk inside the meatballs and gives them a tender, springy texture. The sauce remains light and tangy, with the browned onion and two kinds of paprika adding depth without overwhelming the yogurt.
Why this version works
- Finely chopped medium onions provide moisture without leaving large pieces that can split the chicken meatballs.
- Cumin, coriander, and turmeric are divided between the meatballs and sauce, so the seasoning runs through the whole dish.
- Browning builds flavor, but the meatballs finish over low heat in the sauce to avoid drying out.
- Room-temperature yogurt is tempered with hot cooking liquid before it enters the pan, greatly reducing the chance of curdling.
- A measured 74°C internal temperature gives a reliable doneness check for ground chicken.
Chef's tips
Use about 1 1/2 teaspoons fine salt, or 9 g, for the full recipe: 1 teaspoon in the chicken and 1/2 teaspoon in the sauce. Damp hands are better than heavily wet hands for shaping because excess water can make the outside of the meatballs slippery. If the pan is small, brown in two batches rather than packing the meatballs tightly together.
How to serve
Serve the meatballs warm in shallow bowls with plenty of yogurt sauce and the cilantro scattered over the top. Steamed rice or a plain Indian flatbread works well alongside, especially for catching the onion-rich sauce.
Watch out for
- Do not use two very large onions; aim for approximately 200–240 g total after trimming.
- Avoid kneading the chicken mixture for several minutes. Once it is sticky and holds together, further mixing can make the meatballs dense.
- Turn the meatballs only after their first side has set, or the soft mixture may stick and tear.
- Once the yogurt is added, keep the heat very low. Vigorous stirring cannot turn fully formed yogurt curds back into a smooth sauce.
- Insert the thermometer into the center of the largest meatball without touching the pan; the reading should be at least 74°C.
Substitutions
- Regular or thick plain yogurt can be used in the same 250 g quantity; thick yogurt simply needs more thorough whisking with the measured water.
- Yellow, white, or red onions all work, provided the two onions are medium-sized and finely chopped.
- Either soft wheat sandwich bread or denser whole-wheat bread is suitable. Soak dense slices for 2 minutes longer, then squeeze them only until damp.
Ingredients
- ground chicken - 500 g
- wheat bread - 2 slices
- milk - 50 ml
- onion - 2 pieces
- garlic - 4 cloves
- ginger - 3 cm
- plain yogurt - 250 g
- vegetable oil - 3 tablespoons
- ground cumin - 1 teaspoon
- ground coriander - 1 teaspoon
- turmeric - 0.5 teaspoons
- sweet paprika, ground - 1 teaspoon
- hot paprika, ground - 0.25 teaspoons
- salt
- water - 200 ml
- fresh cilantro - 2 tablespoons
Preparation
- Take the yogurt out of the refrigerator about 30 minutes before cooking. Use two medium onions, approximately 100–120 g each after trimming. Chop them very finely and keep them separate. Mince the garlic and ginger, and chop the cilantro.
- Tear the wheat bread into small pieces, pour over the milk, and leave for 5 minutes. Squeeze gently so the bread remains moist but no longer drips milk.
- Combine the ground chicken, soaked bread, one chopped onion, 2 cloves of garlic, half the ginger, 1/2 teaspoon cumin, 1/2 teaspoon coriander, 1/4 teaspoon turmeric, and 1 teaspoon fine salt. Mix by hand for 60–90 seconds, just until cohesive and slightly sticky. If the mixture is difficult to shape, refrigerate it for 10 minutes rather than adding more bread.
- Heat 2 tablespoons oil in a 28–30 cm frying pan over medium heat. Cook a teaspoon-sized test patty for about 2 minutes per side, until its center reaches 74°C, then taste it for seasoning. With damp hands, shape the remaining mixture into 18–20 balls, each about 30 g.
- Place the meatballs in the hot pan without crowding them; work in two batches if necessary. Leave them undisturbed for the first 2 minutes so a crust forms, then turn gently and brown for 6–8 minutes in total. They should be pale golden rather than deeply browned. Transfer them to a plate; they will finish cooking in the sauce.
- Add the remaining tablespoon of oil and the second chopped onion to the same pan. Cook over medium-low heat for 6–8 minutes, stirring regularly, until soft and golden at the edges. Add the remaining garlic and ginger and cook for 45 seconds. Stir in the remaining 1/2 teaspoon cumin, 1/2 teaspoon coriander, 1/4 teaspoon turmeric, 1 teaspoon sweet paprika, and 1/4 teaspoon hot paprika; cook for 20–30 seconds without letting the spices darken.
- Pour 150 ml of the water into the pan, add the remaining 1/2 teaspoon fine salt, and scrape up the browned bits. Simmer gently for 2 minutes. In a bowl, whisk the room-temperature yogurt with the remaining 50 ml water until completely smooth.
- Remove the pan from the heat for 1 minute. Whisk 2 tablespoons of the hot onion liquid into the yogurt, repeating twice more to raise its temperature gradually. Slowly pour the tempered yogurt into the pan while stirring. Return the pan to the lowest heat and warm for 2–3 minutes; the sauce should steam and show only an occasional bubble at the edge, never a rolling boil.
- Return the meatballs and any collected juices to the sauce. Cover and cook at the barest simmer for 8–12 minutes, turning the meatballs once. Check the center of the largest meatball with an instant-read thermometer; it must reach 74°C. Remove the pan from the heat, rest for 2 minutes, and finish with the chopped cilantro.
Storage
Store the meatballs in sauce in an airtight container; when reheating over low heat, stir gently so the sauce doesn’t curdle, adding a tablespoon of water if needed.
I prefer to stop browning these meatballs at a light gold. A dark crust may look appealing, but chicken kofta stays noticeably softer when most of the cooking happens gently in the yogurt sauce.