This recipe comes from Gourmet Magazine, but it's easy to make, and I've adapted it to my tastes.
1/2 stick (1/4 cup) unsalted butter
2 medium onions, finely chopped (2 cups)
2 large garlic cloves, finely chopped
1 tablespoon finely chopped peeled fresh ginger
3 tablespoons curry powder
2 teaspoons salt
1 teaspoon ground cumin
1/2 teaspoon cayenne (I prefer less heat, so I’d add about 1/8 teaspoon)
1 (3 1/2- to 4-lb) chicken, cut into 10 serving pieces (I use boneless, skinless chicken and cut it up into bite-sized pieces)
1 (14.5-oz) can diced tomatoes (I usually use 2 cans)
1/4 cup chopped fresh cilantro
3/4 cup cashews (1/4 lb) (I sometimes include some cashew pieces)
3/4 cup plain whole-milk yogurt (I usually substitute coconut milk for this)
Heat butter in a 5- to 6-quart wide heavy pot over moderately low heat until foam subsides, then cook onions, garlic, and ginger, stirring, until softened, about 5 minutes. Add curry powder, salt, cumin, and cayenne and cook, stirring, 2 minutes. Add chicken and cook, stirring to coat, 3 minutes. Add tomatoes, including juice, and cilantro and bring to a simmer, then cover and simmer gently, stirring occasionally, until chicken is cooked through, about 40 minutes. (If making ahead, see cooks' note, below.)
Just before serving, pulse cashews in a food processor or electric coffee/spice grinder until very finely ground, then add to curry along with yogurt and simmer gently, uncovered, stirring, until sauce is thickened, about 5 minutes. Serve over rice or pasta. Garnish with fresh cilantro, if desired.
Curry, without yogurt and cashews, can be made 5 days ahead and cooled completely, uncovered, then chilled, covered. Reheat over low heat before stirring in yogurt and ground cashews.