In a large pot, heat the olive oil over medium heat. Add the chopped onion and minced garlic and cook until softened and fragrant, about 5 minutes.
Add the orzo pasta to the pot and cook, stirring often, until lightly toasted, about 2 minutes.
Pour in the vegetable broth and milk, and bring to a boil. Reduce heat to low and simmer, stirring occasionally, until the orzo is cooked and most of the liquid is absorbed, about 10-12 minutes.
Stir in the fresh baby spinach and cook until wilted, about 2 minutes.
Remove the pot from heat and stir in the grated Parmesan cheese. Season with salt and pepper to taste.
Serve hot as a side dish or main course.
