When it comes to learning Spanish, or any foreign language for that matter, practice makes perfect. There’s nothing more to say. And the best way to do this is find a language partner. But caution yourself in finding a fellow classmate who is also learning Spanish with you. Because he/she will be around the same level as you, you risk yourself picking up bad habits or learning something incorrect.
The best language partner is going to be a native Spanish speaker, especially if he or she would like to improve his/her English. This makes for the perfect match because you’re going to improve your Spanish listening comprehension and you’ll have someone with whom you can ask questions, have doubts resolved, and more importantly, have someone to correct you so you don’t develop bad habits.
I recommend meeting up with a language partner 1 or 2 times per week for maybe 1-2 hours, generally speaking Spanish for 30-60 minutes. But don’t limit yourself to just this. What happens is that the more you meet with someone and you can visually see them speaking, you will start understanding them really well, but only when you see them. That’s why it’s also important to set aside some time during the week to talk over the phone. It’s important to train yourself to listening to others without the visual image. These days with VoIP (voice over IP), you can find language partners from around the world and communicate this way, or through messenger services like MSN, Yahoo or Skype.
Speaking of these, you can practice your written Spanish by chatting with native speakers. This is also a great way to learn new vocabulary.
So in sum, do yourself a favor and find a language partner – but make sure that partner is a native Spanish speaker!