Heat the oil in a heavy saucepan and add the grated onion. Cook about 5 minutes but don't let the onion brown. Add the cinnamon stick and cardamom pods and cook, stirring, until onion is golden brown. Add the garlic and 1/4 cup water.
Add the yoghurt and cook 5 minutes. Add the ginger sticks, turmeric, paprika, ground ginger, cumin, coriander and 1 cup water. Cook 5 minutes, stirring.
Add the chicken pieces and salt to taste. cook 20 minutes, stirring often.
Add the remaining cup of water and cook another 10 minutes. Add the cream and heat through, then serve.