Heat the oil in a fairly large pan.
Add the sliced onions and cook until they are starting to caramelize. This is not a quick process, and will take at least 20-30 minutes. However, this is an integral flavour of the curry and shouldn't be missed.
When the onions are ready add the garlic and cook for a further minute.
Add the spices and seasoning and cook for one more minute.
Add in the tinned tomatoes and cook for a couple of minutes.
Puree or blend the sauce (you may need to do this in a couple of batches, depending on how big your machine is), and then return to the pan.
Add the cream and stir through.
Remove the chicken from the marinade bag and add to the sauce.
Cook for about 12-15 minutes, just until the chicken is cooked. Serve immediately and eat with rice and/or naan bread.