There are two things to practise in order to speak English well - pronunciation and fluency. (Fluency is being able to speak quickly and with a good rhythm).
How to improve your pronunciation
The best way to improve your pronunciation, I'm afraid, is to take lessons with a very good teacher who knows about phonetics. However, you can also work on your own.1: Learn the sounds of English and the phonetic symbols
A very good place to start (for British English pronunciation) is the BBC pronunciation guide, which takes you through all the sounds of English. As for books, I recommend the English Pronunciation in Use series. This is also British English and, importantly, includes audio.
For American English, this site from the University of Iowa, has all the sounds of US English with videos showing how to say each one.
2: Listen to the radio, a TV programme or an audio book and repeat phrases aloud
It's also useful if you can get English subtitles or a transcript to be sure of what is being said. For example, if you are in the UK, you can watch the BBC on the internet here. To get subtitles in English (this is also called 'closed captions'), start the programme, then click on the 'S' at the bottom of the screen. It's important to pay attention to the intonation of the whole sentence as well as the sounds of the words.
3: Use a pronunciation dictionary
Try the Oxford Advanced Learner's Dictionary. You can click on the speaker icon to hear the word in both UK and USA English.
4: Add audio to your flashcards
If you use flashcard software like Anki, make sure you add audio. It really helps!
How to improve your fluency (practice!)
1: Do a language exchange in real life
I've done this several times. It's a really good way to meet people, though it depends on where you are. I live in London so it's easy for me to find a partner. You could arrange to meet an English speaker in a café, and then you speak half in English and half in your language. It's nice because you can help each other. In many countries there are English speakers trying to learn your language: try the university. In London (and other cities) you could try Gum Tree. (Remember to be careful, always tell a friend where you're going, and meet in a public place).
2: Do a language exchange on the internet
Try italki to find a language exchange partner on the internet. I love italki and use it often to speak French and German. You can do a free language exchange or pay for a native speaker to talk to you (that's what I do). It's not expensive and it's very easy to use.
3: Speak English with a friend who's also studying
Of course, it's great if you can find a native or very good speaker of English to practise with but if you can't find one, you could try talking in English with a friend who also wants to improve. This takes discipline, but it can work really well.
4: Talk to yourself!
Describe what you're doing in English to yourself, chat to yourself in the mirror, talk into your phone. It all helps! (It's probably best to do this when you're alone!).
(Click here to go back to the main page about ideas on improving your English).