In medium pot, add oil and fry onion until crispy and deep brown about 20-25 mins on medium heat. Remove the onion to a plate covered with paper towel. Be sure to lay them in a thin layer so they don't get soggy.
Next, add the whole spices and fry for 30 seconds.
Next add in ginger garlic paste and fry for another 30 seconds
Add chicken and fry until the raw pinkness goes away about 4-5 minutes.
Tip in the ground spices and vigorously mix into the chicken. I gave this another 4-5 minutes
Add salt and yogurt and blend into the chicken well.
Pour in water ant let the curry cook covered for 25 mins.
While chicken is cooking, blend the fried onion slices. I only blend half of the onion with water and the other half without water to add more texture.
After 25 mins of cooking, add the blended/crushed onion into the curry and mix really well for 5 mins. You should instantly begin to see the color of the curry change from a medium brown to a rich deep color and the oil should begin to separate.
Toss in the green cardamom and pop the lid and let the curry cook on low heat for another 10 mins.
Top with ginger slices and serve hot with naan. Enjoy!