Add chicken pieces to a bowl. Sprinkle the black pepper powder and salt. Mix well to coat the chicken. Let stand.
In a small bowl, whisk together the yogurt, garam masala powder and kasuri methi. Keep near.
Add oil to a heavy wide kadai or cooking pot. Warm up the oil till its slightly smoky. Add cardamom & bay leaf along with green chillies. Fry for 5-7 seconds.
Add the sliced onions next. Brown them till golden in color on medium heat. Takes about 8-10 minutes.
Once the onions are browned, add the ginger paste and garlic paste. Pour 2-3 tablespoon water into the kadai, there will be spluttering.Cook ginger garlic for 5-6 seconds until the raw smell is gone.
Immediately add the chicken. Stir to coat the chicken with onions and fry for 5-6 minutes untill the chicken is no more pink.
Now, sprinkle the ground spices - coriander powder, red chili powder, turmeric powder and cumin powder.
Coat the chicken with spices and bhuno(fry) spices on low medium heat for next 5-6 minutes.
Next add the crushed tomatoes. As you mix you will see that the sauce is getting watery. Fry the tomatoes and chicken while stirring intermittently for 4-5 minutes on medium heat till you start seeing tiny oil bubbles. (If you are using bone in chicken, cover and let the chicken cook until 90 % doneness for about 15-18 minutes in its own and juices from tomatoes. Check once midway to make sure that the masala is not drying up) When the chicken is about 90 percent done, reduce the heat to low and add the whisked yogurt. Immediately start mixing and continue for at least 2-3 minutes after you add yogurt to avoid curdling.
One yogurt us warmed through,bump up the heat to medium and chicken cook for another 5-7 minutes or until the water of yogurt dries out. You will again notice that tiny oil bubbles re appear and a thickish gravy.
Add the chopped methi leaves. Mix well and cook everything till the methi has completely wilted and turns dark green. About 3-5 minutes.
Finish methi murgh with heavy cream. Mix the cream, and simmer for a minute and turn off the stove. Let rest for at least 10 -20 minutes if possible. Reheat and serve warm with flatbreads or rice.