In a medium skillet or saucepan, heat olive oil and butter over medium heat. Add chopped onion and sauté until translucent, about 3 minutes. Add garlic and cook for another minute.
Toast orzo. Stir in the orzo and cook for 1–2 minutes to lightly toast it and coat it in the oil and butter.
Simmer with stock. Pour in vegetable stock and bring to a simmer. Stir occasionally, letting the orzo absorb the stock gradually (like risotto). Add more stock or hot water as needed until the orzo is al dente, about 10–12 minutes.
Add veggies. When the orzo is nearly done, stir in asparagus and peas. Cook for 3–4 minutes, just until asparagus is tender and peas are warmed through.
Finish with lemon and parmesan. Stir in lemon zest and juice. Season with salt and pepper to taste.