Heat the olive oil and butter in a medium saucepan over medium-high heat until the butter melts.
Add the chopped onion and sauté for 3–4 minutes until softened and translucent.
Stir in the minced garlic and Italian seasoning, then add the orzo and cook 2–3 minutes, stirring frequently, until the orzo is lightly toasted.
Pour in the chicken or vegetable broth and the cream, bring to a gentle simmer, then reduce heat if needed to maintain a gentle bubble.
Cook uncovered for about 10 minutes, stirring fairly often so the orzo cooks evenly and does not stick, until the pasta is tender and most liquid is absorbed.
Remove the pot from the heat, stir in the grated Parmesan and the baby spinach until the spinach wilts and the sauce thickens, then cover and let sit 3–5 minutes to finish thickening.
Uncover, season with salt and pepper to taste, and stir to combine before serving.