Heat the olive oil in a heavy-bottomed pan over medium heat until it shimmers and you can smell a nutty aroma.
Add the finely chopped onion and cook, stirring often, until it turns translucent and softens slightly, about 3-4 minutes. The onion should smell sweet and fragrant.
Stir in the Arborio rice, letting it toast lightly for about 2 minutes. Keep stirring until the rice edges turn slightly translucent and smell toasted.
Pour in the white wine, stirring constantly until it’s mostly absorbed and the rice starts to shimmer with a glossy finish. The wine should smell bright and fruity.
Begin adding the warm vegetable broth, one ladleful at a time, stirring gently and waiting until each addition is mostly absorbed before adding the next. Maintain a gentle simmer and keep stirring to release the rice starches.
Continue this process, stirring regularly, until the rice is just tender but still has a slight bite, about 15-18 minutes. The mixture should be creamy but not soupy.
Gently fold in the fresh green peas, stirring just until they turn bright green and are heated through, about 1 minute. Their vibrant color and sweetness should stand out.
Remove the pan from heat and stir in the butter and freshly grated Parmesan cheese until melted and glossy. Add the lemon zest for a fresh, citrusy aroma.
Taste and adjust with salt and pepper as needed. Let the risotto rest for 2 minutes off the heat to allow flavors to meld.
Serve the risotto hot, garnished with extra Parmesan if desired, and enjoy the creamy, vibrant dish that feels like a springtime celebration in a bowl.