Marinate the Chicken: In a bowl, combine chicken with yogurt, garlic, ginger, garam masala, cumin, coriander, turmeric, paprika, and salt. Mix well, cover, and marinate for 1 hour (or overnight).
Cook the Chicken: Heat oil in a grill pan or skillet. Cook the chicken until charred and cooked through, about 5-6 minutes per side. Set aside.
Prepare the Sauce: In the same pan, sauté onions until golden. Add garlic, ginger, and spices. Cook for 1-2 minutes. Stir in crushed tomatoes and cook for 5-7 minutes.
Combine and Simmer: Add the cooked chicken to the sauce. Pour in the cream and simmer for 10-15 minutes.
Garnish and Serve: Stir in cilantro and serve with rice or naan.