In a large bowl, combine diced chicken with Kashmiri red chilli powder, garam masala, cumin powder, coriander powder, turmeric, salt, lemon juice, oil, ginger garlic paste, kasuri methi, and strained Greek yogurt. Mix thoroughly to coat all chicken pieces.
Cover and refrigerate the marinated chicken for at least 8 hours or overnight for best results.
Heat oil in a large pan or wok over medium-high heat. Add chopped onions and green chillies, sauté until onions become soft and translucent, about 5-7 minutes.
Add the marinated chicken along with all the marinade to the pan. Cook, stirring occasionally, until chicken is browned on all sides, about 8-10 minutes.
Stir in the tomato puree and bring to a simmer. Reduce heat to medium-low and cook until chicken is completely cooked through and sauce has thickened, about 12-15 minutes.
Add cream or coconut milk and stir gently. Cook for an additional 5 minutes to allow flavors to meld together. Taste and adjust seasoning as needed.
Garnish with fresh cilantro if desired and serve hot with basmati rice or naan bread.