How to Make It
In a large glass or stainless steel bowl, combine the yogurt, garlic, ginger, cumin, coriander, cardamom, cayenne and turmeric. Season with salt and pepper.
Using a sharp knife, make a few shallow slashes in each piece of chicken. Add the chicken to the marinade, turn to coat and refrigerate overnight.
Preheat the broiler and position a rack about 8 inches from the heat. Remove the chicken from the marinade; scrape off as much of the marinade as possible. Season the chicken with salt and pepper and spread the pieces on a baking sheet. Broil the chicken, turning once or twice, until just cooked through and browned in spots, about 12 minutes. Transfer to a cutting board and cut it into 2-inch pieces.
Meanwhile, in a small skillet, heat 1 teaspoon of the oil. Add the almonds and cook over moderate heat, stirring constantly, until golden, about 5 minutes. Transfer the almonds to a plate and let cool completely. In a food processor, pulse the almonds until finely ground.
In a large enameled cast-iron casserole, heat the remaining 2 tablespoons of oil until shimmering. Add the onion, garlic and ginger and cook over moderate heat, stirring occasionally, until tender and golden, about 8 minutes. Add the garam masala, chile powder and cayenne and cook, stirring, for 1 minute. Add the tomatoes with their juices and the sugar and season with salt and pepper. Cover partially and cook over moderate heat, stirring occasionally, until the sauce is slightly thickened, about 20 minutes. Add the cream and ground almonds and cook over low heat, stirring occasionally, until thickened, about 10 minutes longer. Stir in the chicken; simmer gently for 10 minutes, stirring frequently, and serve.
Variation The marinade and sauce here are also delicious with shrimp, lamb and vegetables.
Steamed basmati rice, rice pilaf or warm nan.