I agree with most of these answers that immersion really is key to achieving fluency. But before you immerse yourself you need a basic understanding of vocabulary and grammar. When possible, visit the country of your language choice. If that's not possible, hang around as many native Spanish (or whatever language) speakers as possible. Have "intercambios" where you spend half your time together speaking English and the other Spanish. Then, in your spare time, immerse yourself in books, movies (always watch with Spanish subtitles or language on), set your phone to Spanish, read Spanish websites -- immerse yourself as much as possible. You can even carry around a small notebook and every time you learn a new word or phrase, write it down to help it stick in your memory.