In a bowl, marinate chicken with salt, black pepper, ginger garlic, and yogurt.
Cover and marinate for 30 minutes (Minimum).
Now in a pan, add oil and heat it up.
Add whole garam masala. Cumin seed (1 Tsp), Black pepper (10), Clove (4), Cinnamon stick (3 inches), Green Cardamom (6).
As the garam masala started popping up then add chopped onion in the pan and saute for few minutes until it changes its color to pink.
Now add chicken marination and cook on high heat until chicken changes the color.
As the chicken changes color and forms a gravy then add garam masala powder and mix well.
Add a glass of water and cover.
Cook chicken for 25 minutes on low medium heat.
Now after 25 minutes, add fresh cream and mix well.
Cover and cook for 10 minutes.