Heat the oil in a heavy bottomed pan. Gently fry the bay leaf and cardamom for around a minute.
Add the sliced onions and on a low heat cook for around 20 minutes until beginning to turn golden brown.
Add the cashew nuts and fry for a couple minutes more.
Add the garlic, green chilli, and white pepper. Fry for a minute.
Mix the corn flour with the yoghurt and stir into the pan.
Add the salt and the sugar, stir in and then add the water.
Stir the mixture until it comes to a simmer.
Cook the gravy for 30 minutes.
Remove the cardamom and bay leaf and blend the gravy with a hand blender or blender (leave to cool slightly if doing the latter otherwise the steam will build up and blow the lid off!)