If you have only a brief time in the city, you cannot fail to be impressed by Barcelona. But take a little more time and Madrid's charms become apparent. Cheaper, with more variety, better food, and generally more to do than Barcelona, Madrid gets the top prize for a longer trip.