Heat the olive oil and butter in a large pot or deep skillet over medium-high heat until the butter is melted.
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 uncooked orzo and cook for 2–3 minutes, stirring frequently to lightly toast the pasta.
Pour in the broth and cream, bring the mixture to a gentle simmer, then reduce heat as needed to maintain a gentle bubble.
Cook uncovered for about 10 minutes, stirring fairly often, until the orzo is tender and most of the liquid is absorbed.
Remove the pot from heat, stir in the grated Parmesan and packed baby spinach until the spinach wilts and the sauce thickens, then cover and let sit 3–5 minutes to finish absorbing.
Season with salt and black pepper to taste, stir to combine, and serve warm.