Hi,
The Complutense is an excellent public university and they also offer Spanish classes for foreigners, but not for free.
If you have a low level of Spanish, the Casa Encendida (cool place for art exhibitions) has free Spanish classes for immigrants.
And if you’re already a resident, the Escuela Oficial de Idiomas offers very cheap Spanish classes for foreigners, but from what I’ve heard it’s hard to get the classes you want.
Complutense: http://www.ucm.es/
Spanish classes for foreigners at the Complutense: http://www.ucm.es/info/cextran/Index.htm
Casa Encendida: http://www.lacasaencendida.es/
Free Spanish classes for immigrants at the Casa Encendida: http://www.lacasaencendida.es/LCE/lceCruce/0,0,73552_1808413_73541P1=16,00.html
Escuela Oficial de Idiomas in Madrid: http://www.eoidiomas.com/
Good luck.