Heat the butter in a large skillet with a tight-fitting lid over medium heat. Sauté the onions and garlic until soft and translucent.
Add the thyme, bay leaf, cloves, cinnamon stick, cumin, turmeric, and ground coriander to the skillet. Continue to cook for an additional 2 minutes, stirring occasionally.
Mix in the basmati rice, ensuring that all the grains are well coated with the spice mixture.
Pour in the hot vegetable stock and bring the mixture to a boil. Reduce the heat to very low, cover the skillet with a tight-fitting lid, and let it simmer gently for about 11 minutes, or until the rice is tender and the stock has been absorbed.
Once the rice is cooked, remove the skillet from the heat. Fluff the rice with a fork and let it stand for about 5 minutes before serving.