Add ghee to a large pot over medium-high heat. Once hot, add the bay leaves and cumin seeds. They'll start to sputter after a minute, then add the diced onions and fry until deep golden brown.
Once the onions have softened, stir in the green chili and ginger garlic paste. Sauté for a minute until the raw smell cooks out.
Add the tomatoes, salt, garam masala, turmeric, coriander, and Kashmiri chili powder. Mix well, cover, and cook until the tomatoes soften and the oil begins to separate.
Add the chicken and toss to coat. Fry for 3-4 minutes until the chicken on all sides until lightly browned.
Reduce the heat to a simmer. Stir ¼ teaspoon garam masala, ¼ teaspoon turmeric, and ¼ teaspoon Kashmiri chili powder into the dahi. Pour the dahi and ½ cup of water into the pot to start with and stir.
Cover and cook until the chicken reaches an internal temperature of 165℉ and is tender, about 12-15 minutes. Stir occasionally, basting the chicken with the curry. Add more water as needed.
Taste and adjust for salt. Add garam masala if it needs more flavor.
(Optional) Heat 2 tablespoons of ghee in a tadka pan. Once hot, add a ½ teaspoon of Kashmiri chili powder and ¼ teaspoon of turmeric. Remove from heat
Garnish with cilantro. Serve with roti or rice.
Notes
Use room temperature dahi to prevent curdling. If it does split, it'll come back together while it simmers.
For more gravy, add an extra ½ cup of hot water and simmer longer.
Curry thickens as it sits - add water when reheating if needed.