Heat the olive oil in a large saucepan over medium heat. Add the onion and garlic and cook until softened, about 5 minutes.
Add the Arborio rice and saffron threads to the pan and stir to combine. Pour in 4 cups of vegetable broth and bring to a boil. Reduce the heat to low, cover, and simmer for 15 minutes.
Stir in 1 cup of vegetable broth at a time until all of the broth is absorbed. Continue cooking for an additional 10 minutes or until the rice is cooked through.
Remove from heat and stir in butter and Parmesan cheese. Taste and adjust seasoning if needed.