Practice, practice, practice is always the response when you ask someone how to improve your Spanish.
But I find if I read a newspaper, I can read what I know and not what I don't and it really doesn't seem to improve my vocabulary even though I look up the words that I don't know. I won't know the word next time as it is probably not used that much.
Watching TV isn't going to improve your vocabulary as if you don't know what a word means you are unlikely to learn it. It does help with listening as I understand a lot more with a slow speaker than a fast speaker - so if they are using similar vocabulary I should with practice be able to get more words the more I become accustomed to the faster speaker.
Learning from flash cards, I just don't have the patience and if I learn them on Monday I don't know them next Monday.
What is your most effective way to progress ?