Heat the oil in a large saucepan over medium heat. Add the onion and garlic and cook until softened, about 5 minutes. Add the mushrooms and cook until softened, about 5 minutes more.
Add the rice and stir to coat with the oil. Pour in 4 cups of the broth and the wine (if using). Bring to a boil, reduce heat to low, cover and simmer for 15 minutes.
Stir in the asparagus pieces. Cover and cook until all of the liquid is absorbed and the rice is tender, about 10 minutes more.
Stir in Parmesan cheese, pepper and salt. Taste and adjust seasoning if needed. Serve hot.