Learn Spanish Abroad (not free)
A very good way to learn a language is to study in the countries where the language is spoken. Cactus Language offers such course study trips.
Click http://www.cactuslanguage.com/en/languages/spanish/spain.php?affiliate_id=235 link to open resource.