Heat the olive oil in a large saucepan over medium heat. Add the onion and garlic, and cook until softened.
Add the Arborio rice and stir to coat the grains with oil. Cook for 2-3 minutes until the edges of the rice are translucent.
Add a ladleful of warm vegetable broth to the rice, stirring constantly until the liquid is absorbed. Continue adding broth one ladleful at a time, stirring frequently, until the rice is creamy and cooked through, about 18-20 minutes.
Stir in the chopped artichoke hearts and spinach, cooking until the spinach is wilted.
Remove from heat and stir in the grated Parmesan cheese. Season with salt and pepper to taste. Serve immediately.