Crush the cardamom pods and remove the seeds. Place a small frying pan over a medium heat and add the cardamom seeds and fennel seeds. Heat, stirring frequently, until fragrant for about 2-3 minutes. Let cool slightly and then add to a pestle and mortar along with the ginger and garlic. Grind together until a paste forms.
In a large bowl, add the yogurt along with the spice paste and a pinch of salt and stir to combine. Add the chicken and stir so the chicken is completely covered. Cover and leave in the fridge to marinate for at least 2 hours.
Pre-heat the oven to 180°C, 160°C fan, gas mark 4. Heat the oil over a medium/high heat in a large, deep oven-proof pan. Remove the chicken from the marinade, scraping off as much as possible but reserving the marinade, and carefully add the chicken to the pan, the thighs skin down first. Fry for 6 minutes on one side until well browned and then turn over and cook for an additional 3 minutes. Using tongs, remove the chicken from the pan and transfer to a plate. Set aside.
While the pan is still hot, add the onions, cumin seeds, cloves and cinnamon stick. Reduce the heat to low and sauté the onions and spices until the onions are golden for about 6-7 minutes. Add the ground spices and cook for a further minute. Add the stock to the pan, using a wooden spoon to scrap up all the flavour at the bottom. Let that bubble away for 2-3 minutes.
Add the tomatoes to the pan along with the yogurt left over from the marinade and two bay leaves, stirring until combined. Nestle the chicken on top and pour over any juices and then transfer to the oven, uncovered, for 40-45 minutes until the meat is cooked through. If the sauce is a little too thick, add a touch more water. Serve.