Chop the chicken into large chunks and set to one side.
Melt the ghee in a large, heavy pan over medium heat. Add the whole spices and cook for 1 minute until aromatic. (See note 3 if you aren't using whole spices)
Add the chopped onion and fry for 10 minutes until softened and starting to turn golden brown.
Add the spices to the onion and stir to coat.
Add the chopped garlic and grated ginger. Cook for another minute.
Pour in the chicken broth, tomato puree/paste then add the chopped chicken and salt.
Stir well to coat, then bring to a simmer.
Cover the pan, reduce the heat to low and cook for 45 minutes until the chicken is cooked through and the sauce has thickened.
Add in the yogurt then season with the additional garam masala and ground fennel.
Cook for 2-3 more minutes and serve garnished with cilantro/fresh coriander.