In a large bowl, mix together ginger, garlic, turmeric, fenugreek seeds, if using, coriander, and chiles. Season with salt, to taste. Add the chicken. Rub everything together well. Cover and marinate in the refrigerator for at least 2 hours or overnight.
When ready to cook the chicken, heat the oil and ghee, if using, in a heavy-bottomed pan with a lid. Add the chicken. Sauté the chicken and cook over medium heat until cooked halfway through. Add the fenugreek leaves. Mix well, cover, and cook until a meat thermometer inserted into the center of the chicken without touching the bone reads 165 degrees. Stir occasionally, scraping the sides if they stick.
Toward the last 5 minutes of cooking, add the tomatoes. Season with salt, to taste, and add up to ½ cup water if the curry is too thick. Cook uncovered, stirring occasionally, over medium-high heat. Once the tomatoes soften and the chicken is cooked through and slightly browned on the sides, remove from the heat and serve.