Melt the butter in a large saucepan over medium heat, and cook and stir the basmati rice and onion until the rice kernels are coated with butter and the onion is translucent, 5 to 8 minutes. The rice will give off a slightly toasted fragrance. Pour in water, and mix in salt, cinnamon sticks and bay leaf.
Bring the mixture to a boil, and reduce heat to medium-low. Cover the saucepan, and simmer the rice until all the water has disappeared and the rice appears dry, about 18 minutes. Fluff the rice with a fork and serve.