Dice the onion and tomatoes.
In high heat, melt the ghee in your pan and saute the onions.
Once it has cooked down, gradually add water to caramelize it until itβs beautifully golden brown. Season with salt.
Add the tomatoes, and similarly cook it down until lightly brown. Season with salt.
Once the tomatoes are lightly brown, add garlic and ginger and continue to cook them down until it has a pastelike consistency.
Add curry powder and garam masala, and mix thoroughly.
Add the chicken, season with salt and pepper, then add water and coconut milk.
Cover the pan and let the chicken cook for 5-10 minutes. Afterward, turn to low heat, flip the chicken, cover, and leave for another 5-10 minutes.
Add butter and heavy cream if you like it creamy.
This is optional, but after cooking, let the chicken sit in the sauce for 1 hour so it really absorbs the sauce.
Serve over rice or bread and enjoy!