In a medium saucepan, heat the chicken or vegetable broth over low heat. Keep it warm but not boiling.
In a large skillet, heat the olive oil and 2 tablespoons of butter over medium heat. Add the chopped onion and sauté until translucent, about 5 minutes.
Stir in the minced garlic and sliced mushrooms. Cook until the mushrooms are tender and have released their moisture, about 5-7 minutes.
Add the Arborio rice to the skillet, stirring to coat the rice with the oil and butter. Cook for about 2 minutes until the rice is slightly translucent.
If using, pour in the white wine and stir until it is mostly absorbed by the rice.
Begin adding the warm broth, one ladleful at a time, stirring frequently. Wait until the liquid is mostly absorbed before adding the next ladleful. Continue this process for about 18-20 minutes, or until the rice is creamy and al dente.
Once the rice is cooked, remove from heat and stir in the remaining 2 tablespoons of butter and the grated Parmesan cheese. Season with salt and black pepper to taste.
Serve immediately, garnished with fresh parsley.