01 - In a bowl, combine chicken with yogurt, lemon juice, turmeric, and salt. Mix well and marinate for at least 15 minutes.
02 - Rinse basmati rice until water runs clear. In a saucepan, bring 3 cups water and 1/2 teaspoon salt to a boil. Add rice, cover, reduce heat, and simmer for 15 minutes. Remove from heat and let stand covered for 5 minutes. Fluff with a fork.
03 - Heat oil or ghee in a large skillet over medium heat. Add onions and sauté until golden brown, approximately 6 minutes.
04 - Add minced garlic and grated ginger, sauté for 1 minute until fragrant.
05 - Stir in curry powder, cumin, coriander, cayenne pepper, chili flakes, and black pepper. Cook for 1 minute, stirring constantly.
06 - Add diced tomatoes and cook until they soften and release their juices, approximately 4 minutes.
07 - Add marinated chicken pieces, stirring to coat thoroughly with the spice mixture. Cook for 5 minutes until the chicken begins to brown.
08 - Pour in coconut milk and chicken stock. Bring to a simmer, cover, and cook for 15 minutes, stirring occasionally, until chicken is cooked through and sauce thickens.
09 - Taste curry and adjust salt or spice as desired.
10 - Serve hot curry over steamed rice, garnished with fresh cilantro.