If you plan on spending a long time in Spain to learn Spanish, you're going to have to think carefully about where you're going to do it.
On this page you can read about the pros and cons of learning Spanish in some of Spain's biggest cities. Click on the links for more details of learning Spanish here, as well as details of Spanish language schools in each city.
It's a difficult choice. One solution is to learn in several cities! A large school group that has branches in several cities can usually accommodate a traveling student who wants to spend a few weeks in a couple of different cities. I know of at least one school group, Don Quijote, that is willing to accommodate students in this way. They have schools in twelve locations in Spain, including Madrid, Barcelona and Seville. Check out their Learning Spanish in Spain Catalogue or read more about the Don Quijote Spanish Schools.
Madrid is probably the best place to learn Spanish in Spain. The Spanish spoken here is clear and easy to understand and the city is a vibrant and exciting place to live.
In Salamanca they speak a very clear form of Spanish and with the city's historic academic tradition, there are plenty of language schools to choose from (and students to meet).
Learning Spanish in Granada Spain
Granada is perhaps my favorite city in Spain. The food is great, the city has an excellent tradition of flamenco and there are lots of language schools to choose form. The only problem is that the accent isn't the clearest in Spain.
Though many people in Valencia speak a form of Catalan rather than Spanish, everyone speaks Castillian Spanish too and their accent is easy to understand. Valencia is one of the biggest cities in Spain, so there is plenty to do for the long-term visitor.
Bilbao is a nice city in a beautiful part of the country, but the local language is Basque, not Spanish. It is also not the cheapest place to live in Spain.
More about Learning Spanish in Bilbao Spain
See also: Bilbao Tourist Guide
Lots of people learn Spanish in Seville, one of Spain's most beautiful cities. A big drawback is that the locals speak with a very strong accent. Avoid the city in the summer (it's too hot).
Learning Spanish in Barcelona Spain
Spanish learners flock to Barcelona - and are then shocked to learn that most people in Barcelona don't speak Spanish as their first language. This defeats the object of learning the language in the country. Barcelona is a great city to visit, but I wouldn't recommend it to learn Spanish.
Malaga is a popular city with tourists and British expats - though heaven knows why, as all it really has going for it is a large airport and its proximity to some nice beaches. The local accent is difficult to understand and you'll likely hear a lot of English wherever you go.