Warm the stock: In a small pot, heat the stock over low heat and keep it at a gentle simmer.
Warm stock helps the rice cook evenly.
Sauté the aromatics: In a wide, heavy saucepan or Dutch oven, heat the olive oil and 2 tablespoons butter over medium heat. Add the onion and a pinch of salt. Cook 4–5 minutes until soft and translucent.
Stir in the garlic for 30 seconds.
Toast the rice: Add the Arborio rice and stir to coat every grain with fat. Toast 2 minutes until the edges look slightly translucent. This step deepens the flavor and helps with texture.
Deglaze with wine: Pour in the white wine and stir until mostly absorbed.
If you skip wine, add a ladle of warm stock instead and proceed.
Begin adding stock: Add 1 ladle (about 1/2 cup) of warm stock and stir gently but continuously. Keep the heat at medium to medium-low so the liquid simmers softly.
Stir and repeat: When the liquid is almost absorbed, add another ladle of stock. Continue this rhythm—add, stir, absorb—until the rice is creamy and just tender at the center.
This takes 18–22 minutes. Taste as you go.
Finish the risotto: When the rice is al dente and the consistency is loose and creamy, remove from heat. Stir in the remaining 1 tablespoon butter and the Parmesan.
Add 1 teaspoon of cracked black pepper to start, then taste. Adjust salt and pepper as needed.
Adjust the texture: If it firms up, loosen with a splash of warm stock. Risotto should gently spread on the plate, not sit in a tight mound.
Optional bright finish: Add a little lemon zest or a drizzle of extra virgin olive oil for fragrance.
Serve immediately in warm bowls with extra Parmesan and black pepper on top.