Heat 2 tablespoons of peanut oil in a large skillet over medium-high heat.
Add the chicken chunks and cook until browned on all sides; remove and set aside.
In the same skillet, melt the unsalted butter and the remaining 1 tablespoon of peanut oil.
Add the diced onion and sauté until translucent.
Stir in the minced garlic and ginger and cook for 1 minute until fragrant.
Add garam masala, ground cumin, coriander, chili powder, and bay leaf; cook spices for 1-2 minutes.
Mix in the tomato paste and crushed tomatoes; simmer for 5 minutes to develop the sauce.
Whisk together the yogurt, heavy cream, and cornstarch in a separate bowl.
Return the browned chicken to the skillet and pour the yogurt-cream mixture over the top.
Simmer gently for 10 minutes, stirring occasionally until the chicken is cooked through and the sauce is thickened.
Season with kosher salt to taste.
Remove the bay leaf before serving.
Serve hot with basmati rice or naan bread.