Rinse rice in several changes of cold water until water runs clear. Drain well in a fine-mesh sieve.
Melt butter in a 4-quart heavy pot over moderate heat, then add rice and cook, stirring, 2 minutes.
Stir in water and salt and bring to a boil over high heat.
Reduce heat to low and cook, covered, until rice is tender and liquid is absorbed, about 20 minutes.
Remove from heat. Let stand, covered and undisturbed, 5 minutes. Fluff rice gently with a fork.
Traditional Indian recipes for basmati rice call for soaking the rice, but we find that it isn't necessary in this case.
Rice can be made 1 day ahead and cooled completely, uncovered, then chilled in an airtight container. Reheat rice, its surface covered with a dampened paper towel, in a colander set over a saucepan of boiling water, covered, 5 to 10 minutes.