Many English learners face the same problem exactly.
It comes down to PRACTICE.
Let's say you were asking me how can you drive a car perfectly, I would answer you should get yourself familiar with the rules and then ? start driving until you are very good at it.
Now, what would happen if someone merely studied the theory rules and never got to the road to drive? He wouldn't be very good at driving, would he?
So speaking fluently is quite similar. How often do you speak in English? Do you have a way to correct your mistakes?
One good way to gradually improve your English fluency (and I say gradually, since it will not happen in a day) is to work on all aspects, step by step:
Reading and Listening: read or listen to materials in English which are at your own level (not too easy and not to difficult). Use a dictionary to check the new words you don't understand. Now, this is important since otherwise you may not see progress.
Writing and Talking: find a partner you can chat with in English. It can be a friend you now, or over the internet. Obviously this person should have very good English, you don't want to follow his mistakes ;)
What if you don't know anyone that fits?
Well, the more expensive solution is to get a tutor. It costs money but if your tutor knows his business you can expect some really good results.
The no-cost solution is to sign up for a site that lets you find pen-pals from different countries.
For example, let's say that Paolo is Italian, and he wants to improve his English, and Jessica is British, and she wants to improve her Italian. They can start chatting using the website and help each other! :)