Place the chicken in a bowl with the marinade ingredients, stir together and cover. Leave to marinate for 1 hour (up to overnight).
Place the roughly chopped onion and the cloves into a food processor and blend until smooth (if you’re using fresh ginger – rather than ready-minced – you can add the ginger in too.
Heat the butter and oil in a large frying pan over a medium-high heat.
Add the minced onion, garlic and ginger to the pan and cook for 5-6 minutes, stirring occasionally until the onion starts to brown at the edges of the pan.
Add the marinated chicken to the pan and cook for 3-4 minutes until sealed.
Add the salt, garam masala, curry powder, paprika, and cinnamon. Stir and cook for 1-2 minutes, until the spices start to release their fragrance.
Add the stock, passata, tomato puree, sugar, and cardamom.
Bring to the boil and simmer for 15 minutes.
Remove the cardamom then stir in the cream and allow to heat through.
Serve over rice, sprinkled with some freshly chopped coriander.
