Set your vegetable broth to simmer gently on the stove so it stays warm for later use.
Prepare the asparagus by trimming off the woody ends, then chop the tender spears into 2-inch pieces. Grate the Parmesan cheese and keep it ready for later.
Heat a large skillet over medium heat. Add the olive oil and butter, letting them melt and shimmer together, filling the kitchen with a toasty aroma.
Stir in the finely chopped shallot and minced garlic, cooking until they become translucent and fragrant, about 2 minutes. You'll notice a gentle sizzle and a sweet aroma.
Add the chopped asparagus to the skillet. Cook for 3-4 minutes, stirring occasionally, until the spears turn bright green and start to soften with a fragrant, fresh aroma.
Pour in the Arborio rice, stirring constantly for about 2 minutes, until each grain is coated and begins to look translucent at the edges, giving off a nutty scent.
Start adding the warm broth, about half a cup at a time, stirring continuously. Allow each addition to be mostly absorbed before adding the next, creating a gentle bubbling and a creamy sound as the rice releases its starch.
Continue this process for about 18-20 minutes, stirring regularly, until the rice is tender but still slightly firm in the center, and the mixture is thick and velvety with a glossy sheen.
When the rice is just right, stir in the grated Parmesan cheese and lemon zest, if using. Season with salt and pepper to taste, adjusting until balanced and flavorful.
Remove the skillet from heat, cover with a lid, and let rest for 2 minutes. This step allows the flavors to meld and the risotto to settle into a smooth, velvety texture.
Uncover, give the risotto a gentle stir, and serve immediately, garnished with extra Parmesan and a few fresh asparagus tips if desired. The dish should be creamy, bright green, and aromatic with a cheesy, subtle sweetness.