Your writing in the post already shows that you are doing well as an intermediate student.
In order to reach the upper intermediate level you should, as you have already suggested, increase your vocabulary, but you have also to focus on listening and speaking. Are you practising listening?
I highly recommend that you also read articles from Encarta Encyclopedia 2007. This encyclopedia is of two parts: the first one is purely academic that uses a fairly advanced English, while the other part is for kids which uses intermediate/upper-intermediate level. It is highly recommended that you read the articles in the Kids part as it teaches you a lot of vocabulary.
Wish you all the best...
- For Teachers