Sauté the Aromatics: In a large skillet, heat olive oil over medium heat. Add the onions and garlic, sautéing until onions are translucent and garlic is fragrant, about 2-3 minutes.
Toast the Orzo: Stir in the orzo pasta, ensuring each grain is coated with olive oil. Toast for a few minutes, stirring frequently, until the orzo turns light golden brown.
Cook the Orzo: Add the broth, stir to combine, and bring to a light simmer. Cover the skillet and let the orzo cook until it absorbs most of the liquid and becomes tender, about 10 minutes, stirring occasionally.
Cook the Shrimp: While the orzo is cooking, season the shrimp with salt, pepper, and Italian seasoning. In a separate pan, cook the shrimp over medium heat until they turn pink and are cooked through, about 2-3 minutes per side. Set aside.
Combine and Finish the Dish: Once the orzo is cooked, stir in the sun-dried tomatoes and baby spinach. Cook until the spinach wilts. Add heavy cream, Parmesan cheese, lemon zest, and juice. Stir well and cook for another minute to meld the flavors.
Add the Shrimp: Fold the cooked shrimp into the orzo mixture, combining everything thoroughly.
Serve: Serve immediately, garnished with fresh basil, extra Parmesan cheese, and a sprinkle of red pepper flakes if desired.