In a large stock pot, heat butter and oil on medium. Saute the onion for a few minutes until soft.
Add the garlic, season well with salt and pepper and garlic powder. Cook for a minute.
Add the orzo and toast for a couple minutes. Pour in the stock, bring to a boil, then reduce heat to a simmer. Cover pot and allow to cook for 8-10 minutes.
Remove the lid, if the liquid is absorbed, it's done. If not, allow to cook for another minute. Stir through parm, cream cheese, heavy cream, then spinach. Squeeze the juice of a small lemon or half a large, and adjust the seasoning if needed.
Store leftovers in the fridge, covered. When you reheat, add a little broth (or splash of water) and more cheese to bring back the creaminess.