Heat the oil in a large saucepan over medium heat. Add the rice and the onion and cook and stir until both the onion and the rice begins to brown, about 5 minutes. Add the garlic and cook and stir another minutes.
Stir in the vegetable stock, the tomato juice, and the saffron, bay leaf, salt and a pinch of cayenne pepper. Bring to a boil, cover tightly, and reduce the heat to very low.
Cook until the rice is tender and all of the liquid is absorbed, at least one hour, especially at 7000 feet above sea level. Let the rice stand, covered, for 10 minutes.
Turn out into a large bowl and remove the bay leaf.