Rinse the basmati rice under cold water until the water runs clear.
Soak saffron strands in warm milk for about 5 minutes to release color and flavor.
Heat butter or ghee in a saucepan over medium heat.
Add the rinsed rice and lightly toast it for about 1–2 minutes.
Pour in water or broth and add salt.
Stir in the saffron milk mixture.
Bring the rice to a gentle boil.
Reduce heat to low, cover the pot, and cook for about 15 minutes until the rice is tender.
Remove from heat and let the rice rest covered for 5 minutes.
Fluff the rice gently with a fork.
Garnish with chopped herbs and toasted nuts before serving.