Place the chicken pieces in a plastic or glass container. Sprinkle with black pepper and pour the yoghurt over. Stir until mixed well and cover. Chill for a minimum of 30 minutes, but ideally you want to leave it marinating for 2 - 6 hours.
Heat the oil in a large pan, add the onions, garlic and ginger. Cook over a low heat for 15 minutes until soft. Stir occasionally so that they don't stick and burn.
Stir in the crushed cardamom seeds, cumin, coriander, turmeric, cloves, chilli powder and bay leaves. Cook the spices with the onion mixture for 5 minutes, stirring constantly so that the spices don't burn. Burnt spices will leave a bitter taste to the curry.
Stir in the flour, sugar and salt, then add the water, stirring continuously. Bring to a simmer and then cook for 10 minutes. Stirring from time to time.
Add the chicken pieces and the cream and cook for 10 - 15 minutes until the chicken is cooked through.
Serve with plain boiled rice (please adjust your calories, if you are counting them!) and sprinkle with coriander.