Heat oil in a saucepan over medium heat. Add onion and cook until soft and translucent, about 5 minutes. 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 the heat to medium-low, cover, and simmer until rice is tender and liquid has been absorbed, about 20 minutes.
Meanwhile, 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 cooked rice. Remove from the heat and mix in pistachios and pomegranate seeds. Fluff with a fork and season with salt and pepper.