In a large bowl, combine flour, water, sugar, yeast, salt, yogurt, and oil. Mix until a dough forms.
Knead for 7–10 minutes until smooth and elastic. Form into a taut ball, lightly oil the bowl, and coat the dough. Cover and let rise for 1 hour.
Punch down the dough and divide into 6 equal pieces. Flatten each piece into a small circle and stuff with ½ cup shredded cheese. Pinch the edges to seal the cheese inside, rest for 10 minutes, then roll out flat.
Heat a pan over medium heat. Cook each naan for 1–2 minutes per side until golden, spotty, and puffed.
Brush generously with garlic butter (melted butter, garlic powder, cilantro) while hot.
MARINATE AND COOK CHICKEN
In a large bowl, place your cubed chicken and coat thoroughly with yogurt, lemon juice, garlic paste, ginger paste, and all the spices for the marinade. Cover and refrigerate for at least 1 hour or overnight for best results.
Heat a pan over medium-high heat and add a splash of oil and a little butter or ghee. Cook the marinated chicken until browned and the liquid has evaporated.
Set aside.
MAKE THE CURRY
In a large pan, melt butter or ghee over medium heat. Add diced onion and sauté until translucent.
Add garlic paste, ginger paste, and spices (coriander, garam masala, cumin) and cook until fragrant.
Stir in the passata or diced tomatoes and heavy cream. Mix well.
OPTIONAL (if you use cashews)
Add cashews and simmer for 5 minutes. Transfer the mixture to a blender or food processor and blend until smooth. Add hot water to adjust consistency.
Strain the blended sauce back into the pot to ensure a silky texture. Simmer gently, adjusting seasoning as needed.