Heat 2 tablespoons of the butter and 1 tablespoon of the olive oil in a large frying pan (preferably nonstick) over medium heat.
Add the dry orzo, stir to coat thoroughly with the butter and oil and cook, stirring frequently, until a good portion of the orzo is golden brown, 5 to 7 minutes.
Stir in 2-1/2 cups of the chicken broth and 3/4 teaspoon salt. Cover, reduce the heat slightly and cook, stirring occasionally, until the liquid is absorbed, 5 to 7 minutes.
Although it will most likely still be too firm, check the orzo for doneness. Add another 1/4 cup of broth, cover and cook until it's absorbed, 2 minutes.
Repeat the process, adding broth in 1/4 cup increments until the orzo is tender. Transfer to a bowl and set aside.
Return the pan to the stove over medium heat and add the remaining butter and olive oil. Add the shallot and garlic and sauté until soft and fragrant, 1 to 2 minutes.
Start adding spinach, a handful at a time and continue cooking until wilted. Season to taste with salt and pepper.
Return the orzo to the pan, combine with the spinach and heat for 1 to 2 minutes. Add the Parmesan cheese, adjust the seasoning to taste and transfer to a serving dish.