01 - Combine chicken with yogurt, lemon juice, turmeric, and salt in a bowl. Mix thoroughly and marinate for at least 15 minutes.
02 - Rinse basmati rice under cold water until water runs clear. Bring 3 cups of water and 0.5 teaspoon salt to a boil in a saucepan. Add rice, cover, reduce heat to low, and simmer for 15 minutes. Remove from heat, keep covered, and let stand for 5 minutes. Fluff with a fork.
03 - Heat oil or ghee in a large skillet over medium heat. Add chopped onions and sauté until golden brown, approximately 6 minutes.
04 - Add minced garlic and grated ginger to the skillet. Sauté for 1 minute until fragrant.
05 - Stir in curry powder, cumin, coriander, cayenne pepper, chili flakes, and black pepper. Cook for 1 minute while stirring constantly.
06 - Add diced tomatoes to the skillet and cook until softened and juices are released, 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 fully cooked and sauce thickens.
09 - Taste the curry and adjust salt or spice level as desired.
10 - Transfer hot curry to serving bowls over steamed rice. Garnish with fresh cilantro and serve immediately.