Gather ingredients: Arborio rice, chicken or vegetable broth (hot), onion (or shallot), garlic, olive oil (or butter + olive oil), white wine (optional), Parmesan (finely grated), butter (optional), salt, black pepper, optional add-ins (mushrooms, peas, asparagus, shrimp), optional garnish (chopped parsley or chives)
Heat broth in a saucepan and keep it at a gentle simmer
Finely chop onion (or shallot) and mince garlic
In a heavy-bottom pot, heat olive oil (and/or butter) over medium heat
Sauté onion until translucent, 3–5 minutes
Add garlic and cook 30–60 seconds
Add Arborio rice and stir to coat until edges look slightly translucent, 1–2 minutes
Add white wine (optional) and stir until mostly absorbed, 1–2 minutes
Add hot broth one ladle at a time, stirring frequently, letting each addition absorb before adding the next
Continue adding broth and stirring until rice is creamy and al dente, about 18–25 minutes
If using add-ins, cook them in a separate pan (or sauté with onion) and fold in near the end, or add them during broth additions so they heat through
Turn off heat
Stir in Parmesan and butter (optional) until glossy and creamy
Season with salt and black pepper to taste
Rest 1–2 minutes, then serve immediately
Optional serving: top with extra Parmesan and chopped parsley or chives
