Heat the butter and olive oil in a large sauté pan over medium heat. Add the shallot and cook until softened. Stir in the garlic and cook briefly until fragrant.
Add the arborio rice and stir to coat, letting it toast until slightly translucent at the edges.
Pour in the white wine and stir until it has fully absorbed.
Add a ladleful of warm broth at a time, stirring often and allowing each addition to absorb before adding more.
Stir in the artichoke hearts and continue adding broth and stirring until the artichokes soften and the rice is nearly al dente.
Add the peas and gently cook until warmed through and the risotto is creamy with a slight bite.
Turn off the heat and stir in the remaining butter, grated cheese, lemon zest and juice, salt, and black pepper. Taste and adjust the seasoning.
Top with fresh herbs, extra cheese, or a drizzle of olive oil. Serve immediately while creamy.
Notes
Keep the broth warm so each ladleful absorbs smoothly and the rice cooks evenly.
Stir consistently, not constantly to release starch without making the risotto heavy.
Pull it from the heat when it has a slight bite for that perfect al dente texture.