Heat olive oil in a large pan over medium heat. Add onions and cook until translucent, about 5 minutes.
Add the garlic and mushrooms, and cook until the mushrooms are tender.
Add the Arborio rice and stir to coat with oil. Cook for about 2 minutes.
Pour in the white wine and stir until the liquid is completely absorbed.
Add 1 cup of warm chicken broth to the rice and stir until absorbed. Continue adding the broth, 1 cup at a time, stirring frequently and allowing each addition to be absorbed before adding the next, until the rice is al dente and creamy (about 18-20 minutes).
Remove from heat and stir in the butter and Parmesan cheese until melted and well combined.
Season with salt and black pepper to taste.
Serve immediately, garnished with chopped parsley.