Wash the basmati rice 2-3 times and drain thoroughly. Keep aside.
In a deep, heavy-bottomed pan (which has a tightly fitting lid), heat the ghee.
Once the ghee is hot, add all the whole spices except bay leaf. Stir for 30 seconds until they bloom and release their aromas.
Stir in the bay leaves for a few seconds.
Add the sugar and stir it around. Keep the flame on medium and monitor closely. First the sugar will melt and then slowly change colour. Watch the colour change from light golden to dark amber (nearly brown) and you'll get a strong aroma of caramel. This is the most important step, to take the caramel far enough that it is dark and aromatic, but surely not burnt.
At this point, add the drained basmati rice and stir for 1-2 minutes.
Add the water and allow this to come to a boil. Add the salt, stir to mix and cover with the lid.
On a medium flame, allow the rice to cook for around 9 minutes. Do not open the lid at this point as the rice will continue cooking in the steam.
After 15 minutes, open the lid, fluff up the rice gently with a fork and it's ready to serve.