Prep your ingredients. Chop the sun-dried tomatoes and reserve 1–2 tablespoons of their oil.
Dice the onion, mince the garlic, and roughly chop the spinach and basil. Zest the lemon, then halve it.
Warm the base. In a large, deep skillet or saucepan, heat the sun-dried tomato oil (or olive oil) over medium heat. Add the onion with a pinch of salt and cook 3–4 minutes until translucent.
Build flavor. Stir in the garlic and tomato paste.
Cook 1–2 minutes, stirring, until the tomato paste darkens slightly and smells sweet and savory.
Toast the orzo. Add the orzo and cook 1 minute, stirring to coat the grains with the tomato-garlic mixture. This helps keep the orzo a touch al dente and adds a nutty note.
Add liquid and simmer. Pour in the vegetable broth and add the chopped sun-dried tomatoes. Bring to a gentle simmer.
Reduce heat to medium-low and cook, stirring often, for 9–11 minutes, until the orzo is tender and most of the liquid is absorbed.
Make it creamy. Stir in the non-dairy milk and nutritional yeast. Simmer 2–3 minutes more, stirring frequently, until the sauce is silky and coats the orzo. If it looks too thick, add a splash of broth or milk.
Finish with greens and brightness. Fold in the spinach and cook just until wilted, about 1 minute.
Add lemon zest and a squeeze of lemon juice. Taste and season with salt, pepper, and a pinch of red pepper flakes if you like heat.
Serve and garnish. Remove from heat and let sit 1–2 minutes to thicken. Top with chopped basil and optional vegan parmesan or toasted pine nuts.
Serve warm.