Heat the vegetable or chicken broth in a saucepan and keep warm over low heat.
In a large, deep skillet or pot, melt 2 tbsp of butter over medium heat. Add the chopped onion and minced garlic, and sauté until they become translucent and fragrant, about 3-4 minutes.
Add the Arborio rice to the skillet and stir well, making sure each grain is coated with the butter and onion mixture. Toast the rice for about 2 minutes, stirring constantly to prevent it from sticking or burning.
Pour in the white wine and stir continuously until it is fully absorbed by the rice.
Reduce the heat to medium-low and begin adding the warm broth to the skillet, one ladleful at a time. Stir the rice gently after each addition, allowing the liquid to be absorbed before adding more. Continue this process until the rice is cooked al dente, which should take about 20-25 minutes. You may not need to use all of the broth.
While stirring, add the remaining 2 tablespoons of butter to the risotto and let it melt, enriching the flavor and adding a velvety texture.
Stir in the grated Parmesan cheese, reserving a handful for garnish. Season with salt and pepper to taste. Continue stirring until the cheese is fully melted and incorporated into the risotto.
Remove the risotto from the heat and let it rest for a minute or two. This will allow it to thicken slightly. Garnish with chopped parsley and grated parmesan cheese.