Combine chicken, yogurt, salt, ginger paste, garlic paste, turmeric, coriander powder, cumin powder, and red chili powder in a bowl. Mix well and set aside while you prepare the rest of the ingredients.
Prepare the onion and cashew paste
Heat oil or ghee in a large heavy bottomed skillet. Add thinly sliced onions and sauté until they turn light golden brown, about 10 mins. Make sure not to brown them too much so the final curry with have a light color. Remove the onions, leaving any excess oil in the pan.
Blend the cashews with water to make a smooth paste and reserve.
Add the fried onions to the same blender and blend to make a smooth paste.
Make the Korma
In the same skillet, add cardamoms, cloves, bay leaf, black peppercorns, and cinnamon stick. Sauté until aromatic.
Add the marinated chicken and cook uncovered over medium-high heat until the chicken starts to release its oil. About 5 to 7 minutes
Stir in the onion paste, sliced green chilies, and salt. Mix well.
Lower the heat, cover, and cook for 15 to 20 minutes on medium heat or until the chicken is fully cooked and tender. Make sure to stir the chicken every 4 to 5 mins to prevent sticking.
Stir in cashew paste and kewra essence.
Sprinkle cardamom powder, mace powder and saffron on top. Garnish with cilantro.
Serve hot with naan, paratha, or fragrant basmati rice.
Notes
For a nut-free option, substitute the cashews with ½ cup coconut cream or heavy cream.