Remove all the fat from the chicken breast. Now take a knife and beat it across. Use the blunt end of the knife to flatten the breast out. This is to be done only on the inside of the breast.
Mix in all the spices to marinate the chicken.
Coat the chicken well with the marinade.
Leave it to marinate for about 10 minutes.
Now in another bowl add the filling ingredients
Mix all well.
Now layout the chicken breasts on a flat surface and stuff it with the mixture.
Place the mixture at one end and tightly roll the chicken breast.
To cook the Chicken:
In a pan heat some ghee.
Add to it some black cardamom, green cardamom and all the other spices.
Once the spices begin to splutter add some water. (Just a little bit maybe a cup or so)
Gently lower the chicken pieces into this liquid, on the folded side so that it doesn't open.
Cover it with foil paper and let it cook for a couple of minutes.
While the chicken is cooking you can make the sauce.
For the Sauce:
In the meanwhile dry roast the coconut and cashew nuts.
Once done add it in a blender with some water and make a nice paste.
Heat some ghee in a pan, add the onions to it and let them brown.
Add the ginger-garlic paste and let it brown.
Once done add the yogurt and salt.
Once the yogurt starts to roast and the separation of fat happens, its time to add the cashew and coconut paste.
While this roasts add all the other spices and mix well.
Add about 1//2 cup water to adjust the consistency.
While this is simmering check on the chicken.
Add about 2 Tbsp of the chicken liquid into the sauce.
Once the chicken is cooked take it out on a plate
Once the curry gains the right thickness take it off the heat and pour it over the chicken.