Start by rinsing the basmati rice under cold water until the water runs clear. This removes excess starch and helps achieve that fluffy texture. Drain the rice well and set it aside.
In a large pot, melt the 2 tablespoons of unsalted butter over medium heat. Once melted, add the thinly sliced onion and sauté until golden brown, about 5-7 minutes.
Next, introduce the cinnamon stick, smashed cardamom pods, whole cloves, and bay leaves to the pot. Stir them in and let them cook for about 1-2 minutes.
Add the turmeric and salt to the pot, followed by the rinsed and drained basmati rice. Gently stir to coat the rice with the butter and spices.
Pour in the 2-1/2 cups of boiling water and bring it to a gentle boil. Once it reaches a boil, reduce the heat to low and cover the pot with a lid.
Let it simmer for about 15-20 minutes, or until the rice has absorbed all the water.
Once cooked, remove the pot from heat and let it sit, covered, for an additional 5 minutes. Finally, remove the lid, fluff the rice with a fork, and serve warm.