Add basmati rice to a bowl and rinse thrice. Drain the water.
Soak the rice for a minimum of 15 minutes and drain to a colander/ strainer. Shake off gently to get rid of excess water. Avoid soaking if using new harvested rice.
Pour water to a heavy bottom pot and add salt, ghee or oil (optional). If you want you may add whole spices like star anise, cinnamon, cloves, cardamoms and cumin seeds.
Bring the water to a rolling boil on a high heat and then add the drained rice. You will see the temperature falls after adding rice, so let the water come back to a rolling boil on a high heat.
Reduce the heat to lowest and cover the pot. Cook till all of the water is absorbed, for 10 to 11 minutes.
Do not stir while the rice is cooking. If you see the rice bubbling and frothing up, simply open the lid 1 to 2 times before it overflows and cover back.
Insert a rice paddle to the bottom of the pot to check if all of the water is absorbed. Turn off when the water is completely absorbed and the rice is cooked through.
Cover and let rest for 10 to 15 minutes on the hot burner (stove turned off).
Reduce the heat to medium or medium-high so the water does not over-flow. But it is important to keep the water boiling constantly until the rice is cooked through.
Place a large pot under the colander or simply place your colander in the clean kitchen sink. When the rice is cooked al dente drain to the colander.
Transfer the rice back to the pot and cover it immediately. Let rest on the hot burner (stove turned off) for 5 to 7 mins.
Your fluffy and perfectly cooked basmati rice is ready.
Heat ghee in a wide pot and add the drained rice (completely no water). Increase the heat to high and stir fry the rice occasionally for 2 to 3 mins.
Pour water and bring it to a rolling boil. Reduce the heat and cover the pot. Let cook until all of the water is absorbed.
You have the fulffy basmati rice under 10 minutes.