In a medium sauce pan, saute onion in butter over medium high heat until translucent. Add garlic and cook 30 seconds. Whisk in flour and cook for 1 minute. Whisk in milk a little at a time and bring mixture to a boil (continue to stir). Once mixture boils and begins to thicken, stir in cream cheese, Parmesan, 1/3 cup mozzarella cheese, hot sauce, salt and pepper until just melted in and smooth. Remove from heat. Mix in the spinach and artichoke.