Heat 1/4 cup oil in a large sauce pan over medium heat. Add onion and garlic; cook for 3 to 4 minutes until softened.
Increase heat to high, add white wine and cook until almost dry; about 3 to 4 minutes. Add rice and stir until completely coated with olive oil and cook for 2 minutes.
Add 1 cup of chicken broth, stirring constantly until most of the liquid is absorbed by the rice.
Gradually stir in remaining broth 1 cup at a time; cooking and stirring until liquid is absorbed before adding the next cup.
Heat 3 tablespoons oil in a large nonstick skillet. Add asparagus and sautè for 1 minute then stir in mushrooms. Cook for 2 to 3 minutes, or until mushrooms just begin to sweat.
Remove from heat and set aside until risotto is nearly finished cooking.
Risotto is ready after the last cup of broth has been stirred in and rice has thickened.
Remove from heat and stir in asparagus, mushrooms and Parmesan cheese. Season with salt and pepper; top with additional shaved Parmesan, if desired, and serve immediately.