Soak saffron strands in warm water and let the color bloom.
Warm oil in a pot over low heat and add the chopped onion.
Cook the onion until soft and clear, but not brown.
Add the washed basmati rice and stir once to keep grains whole.
Let the rice sit with the onion for a moment to take in flavor.
Pour in water or stock and add the saffron water.
Stir lightly once.
Bring the pot to one gentle boil.
Lower the heat, cover tightly, and let it steam until soft.
Turn off the heat and let the rice rest for 5 minutes before opening the lid.
Fluff gently and serve warm.