Rinse the rice in a bowl or pot. Cover with cool water, then agitate the rice with your hand and vigorously swirl it around to release the starch. Carefully drain and repeat until the water runs clear (about 4-5 times). Drain using a fine mesh strainer and set aside.
Prep the almonds by toasting them in a dry pan over medium heat (you can use the same pot as below), stirring occasionally, until golden brown. They will start crackling when they are ready. Remove from heat and set aside.
Heat a medium saucepan with a lid or pot over medium-low heat with the butter. Once it's melted and foamy, add the onion. Cook gently, stirring occasionally, until soft and lightly golden (about 3 min).
Add the ground spices and the garlic and toast for about 30 seconds, stirring constantly to avoid burning. Add the rinsed rice and continue cooking over medium-low, toasting the rice and spices for about 3-5 min until the rice turns pearly white.
Once the rice has toasted, stir in the salt, raisins, and almonds before adding the water. Increase the heat and bring to a gentle boil before covering and reducing the heat to low.
Cook the rice for 15 minutes, then remove from the heat and let it sit for 10 minutes. Fluff the rice with a fork before serving.