Melt 3 tbsp butter in a large saucepan over medium heat. Cook onion (chopped), stirring, until onion is pale yellow. Add 2 cups arborio rice and stir well. Add 3/4 cup dry white wine and stir until wine is evaporated. Add 6-7 cups hot stock about 2 ladles at a time, stirring until each addition is absorbed before adding the next.
When rice is half cooked, add asparagus (cut into 2cm pieces) and button mushrooms (sliced). Continue cooking and stirring until rice is al dente.
Stir in 2 tbsp butter and parmesan (grated).
Serve immediately with extra grated parmesan, if desired.