Fry the onion in 1 tbsp groundnut oil slowly over a gentle heat, stirring occasionally until soft and starting to colour. Add a pinch of salt then add the ginger, garlic and chilli. Continue to fry, stirring, for another 3-5 minutes.
Meanwhile, using a pestle and mortar, bash the cardamoms to split them open. Discard the husks, keeping the black seeds. Add the fennel seeds and grind both spices to a fine powder. Add the turmeric, white pepper and garam masala and mix well. Add this spice mix to the pan and mix through. Fry off for a few minutes to release the aromas.
Next, add the chicken. Turn the heat up and fry the chicken until it has turned opaque. Add a splash of water to deglaze the pan and then add the nuts. Cook off for a few minutes befroe adding the tomato, coconut and another pinch of salt. Cover and simmer for 7-10 minutes, stirring occasionally. You can add a little more water if the mixture becomes too dry but it should be quite a thick, rich sauce.
Once the chicken is cooked, add the cream and allow to bubble for a minute or two. Taste to check seasoning and adjust with a little more salt or white pepper if necessary.