Beyond the basic level, the best method is real-world practice. Read regular stories, newspapers, etc. Watch movies and try to avoid subtitles. Listen to music in that language. Find a radio internet channel that has a good variety of subjects and let it play in the background, and above all, have conversations with a native speaker, preferably face-to-face, in person.
A spoken language is usually very different from the written language and the only way you will get good at comprehension is continuous practice in everyday situations.