Heat oil in a large nonstick skillet over medium heat. Add onion and sauté for 2-3 minutes until fragrant. Add spinach and cook, stirring, until wilted, about 2 minutes. You may need to add spinach in batches depending on the size of your skillet.
Heat butter in a small saucepan over medium heat. Add flour and cook, stirring, until smooth and bubbling, about 30 seconds. Add half & half, salt and pepper. Stir constantly until thickened, about 1 minute. Combine the spinach and the sauce. Sprinkle with grated cheese and serve immediately.