MELT, 2 Tablespoons butter in a saucepan over medium heat. When it turns bubbly, add the flour and cook, stirring constantly, until a blond roux is formed, 5 to 6 minutes.
WHISK in the milk and bring the liquid up to a boil. Season with half of the salt and cayenne to taste and simmer for 5 to 6 minutes, or until the sauce is thick enough to coat the back of a spoon. Remove the sauce from the heat and stir in the cheeses. Set the sauce aside.
HEAT the remaining butter in a small saucepan, when hot, add the onions and sauté for 2 minutes. Add the spinach, a handful at a time, until all the spinach is incorporated. Add the garlic and sauté for 4 minutes. Season with the remaining salt and crushed red pepper. Remove the spinach from the heat and turn into a mixing bowl. Fold the béchamel sauce into the spinach and onions.Let cool and then fold in the mayonnaise.