In a saucepan, heat the chicken broth over low heat and keep it warm.
In a large skillet, heat the olive oil and butter over medium heat. Add the chopped onion and garlic, cooking until the onion is translucent, about 3-4 minutes.
Stir in the Arborio rice and cook for 1-2 minutes until the rice is lightly toasted.
Pour in the white wine and stir until it is mostly absorbed by the rice.
Gradually add the warm chicken broth, one ladle at a time, stirring frequently. Wait until the liquid is mostly absorbed before adding more broth. Continue this process for about 18-20 minutes until the rice is creamy and al dente.
In the last 5 minutes of cooking, add the asparagus and shrimp to the risotto. Cook until the shrimp are pink and opaque and the asparagus is tender.
Remove the skillet from heat and stir in the lemon zest, lemon juice, and Parmesan cheese. Season with salt and pepper to taste.
Serve immediately, garnished with fresh parsley.