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 rice and stir to coat in the oil. Cook for 1 minute until lightly toasted.
Add the broth, wine, and asparagus to the pan. Bring to a boil then reduce heat to low. Simmer for 20 minutes until the liquid is absorbed.
Remove from heat and stir in butter and Parmesan cheese. Add lemon zest and season with salt and pepper.