Heat a large pot over med heat, add the oil and heat through. Add the chicken and sauté until it is lightly browned on all sides.
Add the butter and allow to melt then add the onion. Cook, stirring occasionally, until the onions are soft and translucent. Add the garlic and cook, stirring occasionally, until the garlic is fragrant.
Stir in the ginger, garam masala, cumin, coriander, chili powder and the bay leaf. Let cook, stirring constantly, until spices are fragrant but not burnt, about 1 minute.
Add the tomato paste and crushed tomatoes, stirring occasionally, for about 2 minutes. Reduce the heat to low and stir in the heavy cream and yogurt. Let simmer.
In a small jar or container, combine the cornstarch and ¼ cup of cold water. Shake or whisk to mix, then slowly whisk mixture into the sauce. Cook, stirring occasionally, until sauce has thickened.
Serve the butter chicken hot with a side of basmati rice and naan bread.