Soak the saffron strands in the nondairy milk.
Heat the oil in a wide skillet or saucepan. Add the bay leaves, cloves and cardamom. Smash the cardamom pods so they are slightly open before you add them to the oil, to get the best flavor.
Saute for a minute or so over medium heat until the bay leaves begin to color slightly.
Add the onions to the skillet along with a pinch of salt. Saute for a couple of minutes until they turn translucent but not brown. Stir in the red pepper flakes, if using.
Add the nuts and saute a couple more minutes. Then add the rice and mix it with the rest of the ingredients until it turns slightly opaque.
Add the soaked saffron strands along with the milk and stir in.
Add 3 ¾ cups water to the skillet and mix well. Add salt to taste--the water should taste a little saltier than you want your final dish to be.
Let the water come to a boil. Mix one last time, then cover with a tight lid, set the stove to the lowest heat setting, and cook 15 minutes, undisturbed. Let the rice stand, covered, for 10 more minutes after turning off the heat as it will continue to steam. Don't peek.
Open the pot and stir in the pomegranate arils gently, using a fork, which will also fluff up the grains. Serve hot or warm.