Wash the rice by placing the rice in a large bowl and fill with cool water. Swirl your hand through the water and the rice for about a minute. Pour off the water, taking care not to lose any rice. Repeat this process with new, clean water until the water runs clear. This process usually takes me 3 changes of water. Drain and set aside
In a large saucepan, melt the butter over medium heat.
Add the onion and cook, stirring occasionally for 2 minutes. Add the garlic and cook for a minute more.
Add the cumin, cardamom and allspice, stir and cook for a minute longer.
Add the rice and the butternut squash and stir to coat with the ingredients.
Add the water and salt and bring to a boil.
Cover and cook over low heat until the squash is tender and the water is completely absorbed, about 15 minutes.
Remove from the heat and let the rice stand, covered, for 5 minutes before serving.