Gently wash the rice in cold water until the water runs clear. Place in a bowl and fill with cold water to 2 inches above the rice. Let the rice soak for a minimum of 30 mins (preferably overnight).
Drain and then put the rice in a saucepan. Add water and salt (for the amount of rice set out above, I use a standard UK 20 cm saucepan with a glass lid, 2.5 litre capacity).
Put the saucepan on a high heat until the water starts to boil. Once the water comes up to the boil, turn the heat to medium and add the butter/ghee/oil and stir gently to mix.
Once you start to see holes in the rice as the water is evaporating, take the temperature down to the lowest setting. Take a clean tea towel and wrap the lid of the saucepan, making sure it is not a fire hazard. Place the lid on the saucepan. The tea towel will help the steaming process and soak up the water, preventing it from falling back into the rice and making it mushy. Leave the rice cooking for no less than 30 mins. The longer you leave it, the better the tahdig.
Once you have come to the end of the cooking time (30 mins or more with the lid on), turn off the heat and take a plate, which is bigger than your saucepan, and place it over the top of the saucepan. Flip the saucepan, while holding the plate, and your rice should come out as a nice looking rice cake in the shape of your pan with crispy tahdig encasing it.
Serve with your choice of stew, curry or kababs.
Don't beat yourself up if it doesn't work the first time you do it. It took me a few attempts before I got it! Good luck.