To me the key to speak fluently is to have lots and lots and LOTS of speaking practice. Ideally immersion but these days with the internet and Skype it's quite easy to find language partners to practice with. I do about three hours a week of 100% Spanish for an hour, even if I struggle. It becomes easier over time.
With English I only really became fluent after spending 6 months in Australia. There just wasn't a choice but to speak English. Unfortunately I don't have the same luxury for Spanish now, so with 3h it's obviously slower but I have no doubt that it is possible.

Of course building vocab, studying grammar and practicing listening and reading comprehension are all part of it too. Depends what you consider true fluency.