Warm a pan or karahi over medium heat and add oil.
Add whole garam masala (cardamom, cloves, cinnamon, black pepper) and sauté for a few seconds until fragrant.
Add fresh ginger-garlic paste and cook until it changes color and releases its aroma.
Add chicken pieces and cook on high heat until they slightly change color. Pour a little water to prevent sticking.
Mix in tomato cubes and green chilies. Cover and cook on medium-low heat for 10 minutes.Tip: If you haven’t peeled the tomatoes beforehand, you can remove the skin after 5 minutes. Use a spoon to mash the tomatoes into the chicken, creating a smooth curry base. Cover again and cook for another 10 minutes on medium-low heat.
After 20 minutes, check the chicken. Evaporate excess water if needed, but avoid making it too dry.
Mix in salt, red chili powder, and garam masala powder. Add yogurt and cook on high heat for a few minutes until the curry starts separating from the oil.
Add 2 teaspoon ghee or butter and stir briefly for a rich, aromatic finish.
Top with julienned ginger and fresh coriander. Serve hot with naan, roti, or kulcha for an authentic Lahori-style meal.