Heat a large, heavy-bottomed pan over high heat, and add the ghee and oil. Once hot, add the onions and sauté for 5-6 minutes, or until lightly golden. Add garlic, ginger, and whole green chili pepper and sauté for about a minute.
Add the chicken and ½ tsp salt and sauté for 5 minutes, or until the color of the chicken changes and it has stopped releasing water. Add the tomatoes, coriander, cumin, red chili pepper, and remaining salt and sauté for another minute.
Lower the heat to medium, cover, and allow the chicken cook for 20 minutes, stirring once in between.
Uncover and raise the heat to high. Sauté for 10 minutes to finish cooking the chicken and reduce excess liquid.* You will notice the chicken taking on a glossy appearance as the ghee/oil starts to separate.
Lower the heat to medium, add in the whisked yogurt, and gently sauté for 2-3 minutes. Taste and add more salt, if needed. (I usually need another 1/8 tsp.) Add freshly ground black peppercorns and garam masala, and stir to combine. Top with green chili peppers, julienned ginger, and cilantro. Serve hot with roti, naan, bread, or rice.
Video
Notes
*Vine tomatoes have more water content than Roma. Depending on your tomatoes and and if you use a small/narrow pan, you may have to sauté out any excess water in a small pan.To make this recipe dairy-free, substitute ghee with more oil and omit the yogurt.