I believe the #1 reason people can't speak a language fluently is because they do not know enough words and phrases. And by "know" I mean being very familiar with them, like having encountered them so many times in so many different contexts your brain is now comfortable with them. Common sense tells us that one cannot used something one has never seen or knows just superficially.
So, to be fluent you must have a wide vocabulary, and for that reading and listening is the best way in my opinion. If you read and listen attentively and consistently with a serious attitude and regimen, you'll get there. If you just concentrate on chatting with the native speakers here and there, watch movies and listen to songs, play around and have fun, I doubt you will.