In a medium saucepan, heat 4 cups chicken or vegetable stock over low heat. Keep it warm while you make the risotto.
In a large saucepan or Dutch oven, heat 2 tablespoons olive oil over medium heat. Add the shallots and garlic. Cook for 2–3 minutes, until softened and fragrant.
Add 1 cup Arborio rice and stir for 1–2 minutes, coating the grains until slightly translucent at the edges.
Pour in ½ cup dry white wine and stir until mostly absorbed.
Add 1 ladleful of warm stock at a time, stirring often and allowing each addition to absorb before adding more. Continue until the rice is creamy and tender with a slight bite, about 18–20 minutes.
Stir in the lemon zest, lemon juice, Parmesan, mascarpone, and butter. Season with salt and pepper. Taste and adjust for salt, pepper, and add a little more lemon if you'd like!
Spoon into bowls and top with flaky sea salt, a drizzle of olive oil, and extra Parmesan if desired.