Position the oven rack in center of the oven. Preheat the oven to 375 degrees F.
Defrost the spinach in the microwave. Drain, then dry the spinach out as much as possible by wringing it out in a clean kitchen towel.
Bring a saucepot of water to a boil. Add salt. Add the pasta and cook according to package directions for al dente.
Meanwhile, heat 2 tablespoons extra-virgin olive oil in a small skillet over medium to medium-high heat and add the shallots and garlic and cook 2 to 3 minutes. Add the artichokes and cook until they are lightly brown. Add the wine to deglaze the pan.
While the artichokes and pasta cook, in a saucepot over medium to medium-high heat, add the butter. When melted, whisk in the flour for 1 minute or so, then whisk in the milk and season with salt, pepper and a little nutmeg. Cook 5 to 6 minutes, or until thick enough to coat the back of a spoon, adjust the seasonings and stir in the Gruyere cheese. Combine the sauce with the spinach, pasta, and artichoke and stir until just combined. Transfer the mixture to a baking dish and cover with the remaining cheese. Cool and store for a make-ahead meal.
Bake on a baking sheet 45 minutes or until brown and bubbly on top.