Preheat the oven to 400 degrees F.
In a sauce pan over medium heat melt 1/4 cup of the unsalted butter, once bubbly add the flour. Stir the mixture constantly for 5 to 6 minutes to make a blond roux. Whisk in the milk and bring the liquid up to a boil. Season the bechamel with salt and cayenne and simmer for 5 to 6 minutes, or until the liquid is thick and coats the back of a spoon. Remove the sauce from the heat and stir in the cheeses. Set the sauce aside.
In a sauté pan, heat the remaining butter. When the butter is hot, add the onions and sauté for 2 minutes. Stir in handfuls of spinach at a time, until all the spinach is incorporated. Add the garlic and artichoke and sauté for 4 minutes. Season the vegetables with salt and cayenne. Remove the spinach and artichokes from the heat and turn into a mixing bowl. Fold the béchamel sauce into the vegetables. Transfer the mixture into a baking pan and bake the dip for 10 to 15 minutes, or until the top is golden brown.
Serve the dip with chips or toast points.
Yield: about 8 servings