Heat the oil in a wok or deep frypan over high heat. Add 1/3 of the onion, sprinkle a little salt and fry for a few minutes, or until golden brown and crispy. Remove from oil and drain on a paper towel.
Add the bay leaf and the rest of the onions to the oil. Season with a little salt and fry until golden brown. Add a spoonful of water and stir so that the onions break down – the water should turn a caramel colour. Add the turmeric, chilli, paprika, ginger and garlic; stir well. Reduce heat to medium high. When the fat comes to the surface add a spoonful of water, and stir again.
Add the chicken and the sliced tomato. Season with salt and sugar; stir. Add the cardamom, cloves, cinnamon, ghee and a spoonful of water. Reduce heat to low, cover and simmer for 30 or 35 minutes.
Remove the lid, if there is water left in the pan, raise the heat to medium. Add the ground coriander and cook until all the water has evaporated (or you can leave as much sauce as you like).
Spoon onto serving plates and sprinkle with the fresh coriander and the reserved fried onions. Serve with naan or basmati rice.