Heat oil in a saucepan over medium heat and cook onion until soft and translucent. Add rice and toast until fragrant, 2 to 3 minutes. Pour in hot vegetable broth and bring to a boil. Add saffron and allspice, reduce heat to medium-low, cover, and simmer until rice is tender and liquid has been absorbed, about 20 minutes.
Toast pistachios in a skillet over medium heat until nuts start to turn golden brown and become fragrant, 5 to 10 minutes. Set aside.
Stir butter into the cooked rice. Remove from heat and mix in pistachios and pomegranate seeds. Fluff with fork and season with salt and pepper.