Cook pasta in a large pot of boiling salted water according to package instructions. Drain well.
Heat olive oil in a large cast iron skillet over medium heat. Add garlic and onion. Cook, stirring frequently, until onions are translucent, about 2-3 minutes.
Whisk in flour until lightly browned, about 1 minute.
Gradually whisk in milk. Cook, whisking constantly, until slightly thickened, about 3-4 minutes.
Stir in spinach until wilted, about 3 minutes.
Stir in Parmesan until melted, about 1 minute.
Stir in orzo. Season with salt and pepper to taste.
Serve immediately.