Heat 2 tablespoons of peanut oil in a large pan over medium heat.
Add chicken chunks and cook until browned on all sides. Remove and set aside.
In the same pan, melt butter and add diced onion, cooking until translucent.
Add garlic and ginger; sauté for 1-2 minutes until fragrant.
Stir in garam masala, cumin, coriander, chili powder, and bay leaf; cook spices for 1 minute.
Add tomato paste and crushed tomatoes; simmer for 5 minutes.
In a small bowl, whisk together yogurt, heavy cream, cornstarch, and a pinch of salt.
Return chicken to the pan and pour the yogurt mixture over; stir well to combine.
Simmer on low heat for 10-15 minutes until sauce thickens and chicken is cooked through.
Adjust salt to taste, remove bay leaf, and drizzle remaining peanut oil if desired.
Serve hot with rice or naan.