Special equipment: a broiler-safe 2-quart baking dish
Position an oven rack at the center of the oven, and preheat the broiler.
Bring a large pot of water to a boil and cook the pasta according to the package instructions. Reserve 3/4 cup of the pasta water; strain the pasta.
Wipe out the pot. Add the butter, and melt over medium heat. Add the shallots, and cook, stirring occasionally, until soft, 2 to 4 minutes. Add the garlic, and cook, stirring, until soft, about 2 minutes. Add the flour, and whisk constantly until it begins to toast, about 2 minutes. (The flour will form a thick paste, but that's okay; just keep it moving in the pot.) Whisk in the milk and the reserved pasta water, and whisk constantly until the mixture is thick like gravy, 3 to 5 minutes. Whisk in the sour cream, 2/3 cup of the mozzarella, the Swiss cheese and 1 tablespoon of the Parmesan. Once the cheeses have melted, add the spinach, and cook until just wilted, about 1 minute. Stir in the artichoke hearts, pasta, 1 teaspoon salt and 1/4 teaspoon pepper. Transfer to a broiler-safe 2-quart baking dish.
Stir together the remaining 1/3 cup mozzarella and 3 tablespoons Parmesan in a small bowl. Sprinkle over the pasta. Broil until golden and bubbly, about 2 minutes.
Copyright 2014 Television Food Network, G.P. All rights reserved.