In a bowl, mix chicken with yogurt, ginger-garlic paste, garam masala, turmeric powder, Mirch, cumin powder, and salt until well combined. Cover and marinate for a minimum of 30 minutes or overnight.
Heat oil in a pan and then cook chicken on each side until it turns brown. Keep it aside.
Heat 2 tablespoons of ghee and cook onions in it for 5-6 minutes or until it softens.
Stir in ginger-garlic paste, tomatoes, garam masala, coriander powder, salt, and cook on simmer until the tomatoes are really soft.
Turn the heat off when tomatoes turn deep red in color. Now, cool this mixture to room temperature.
Bend this onion-tomato mixture until smooth. Add ¼ cup of water if required.
Add the remaining ghee to a pan and pour the blended mixture into it. Stir in Kashmiri chili powder, butter, sugar, kasoori methi, and bring it to a boil.
Stir in chicken pieces with its juices and simmer the curry for another 5-7 minutes.
Stir in cream, liquid smoke, and turn off the heat.