Peel and finely chop the onion. Wash and finely chop the tomato. Rinse the rice and drain well.
Heat the oil or butter in a medium saucepan over medium heat. Add the onion and cook until softened. Stir in the tomato, salt, and curry powder. Cook gently until the tomato softens and the curry becomes fragrant, without browning.
Add the rinsed rice and water. Stir to combine and bring to a boil.
Reduce the heat to low, cover, and simmer for 10 minutes. Check for sticking, then cover and cook for approximately 8 more minutes, until the rice is tender and most of the water has been absorbed.
Remove the lid and continue cooking over low heat for up to 4 minutes, if needed, to evaporate any remaining moisture. Watch carefully to prevent sticking or burning.
Remove from the heat, cover, and rest for 10 to 15 minutes. Fluff with a fork before serving.