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.
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.
Note: 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.