Method 1: Steam absorption method using a saucepan
Choose a good quality 2 to 3-quart saucepan to cook your rice. Measure the rice into your saucepan and rinse it in cold water 2–3 times. Carefully pour out the rinsing water, then add the 2 cups of water and let it the rice soak for at least 10 minutes.
Add ghee (or oil) and salt, and bring the rice to a boil on medium-high heat. Stir the rice once gently, turn down the heat to very low, and cover. Simmer covered for 15 minutes.
Check the rice. It should be ready. If you turn off the heat and leave it with the lid covered, it will continue to cook. Very often at this point, I find myself adding two tablespoons of water and closing the lid up. The extra water loosens the rice from the bottom of the pot, and steams it a little further for extra softness.
Just before serving your perfect basmati rice, fluff it up gently with a fork.
Method 2: Double-steam absorption method
This method requires a 4–6 cup heatproof bowl or metal insert. The bowl or insert must fit inside a larger pot that has a good lid.Your larger pot could be a dedicated steamer pot, or simply any large pot. A pressure cooker also works, in which case you would use the cooker's steamer function.You must also have a way to raise the rice bowl off the bottom of the larger pot, such as a stainless steel trivet, a steamer basket, or maybe even a few rocks.
Measure the rice into your bowl or insert and rinse it in cold water 2–3 times. Add the correct amount of water and soak the rice for at least 10 minutes. Add ghee and salt.
Prepare the larger pot by filling it with 2 cups of water and inserting the trivet or steamer basket. Place the rice inside the larger pot.
Bring the water to a boil, cover, and turn down the heat to very low.
Simmer, covered, for 35–45 minutes.
Check the rice after 35 minutes. If it is not ready, or if you'd like it softer, cook for a few more minutes.
Just before serving, fluff up the rice with a fork.