Reading is the key, lots and higher end literature. I tend to go for childrens classics as the language is more challenging. Read to the kids as well and pause occasionally to check meaning of words etc. Plus I have done quite a bit of comprehension work so they can improve on inference (terribly tedious but does highlight how
they are processing info). I also keep a dictionary with all my DS2's new words in it...he looks them up and writes it in. Then every fortnight I would ask him what they mean, building up vocab over time. Also just during everyday convo just using higher language and saying "do you know what that means?" or "can you think of a word that means the opposite?" etc.
I also try to play games like scrabble and boggle to try and increase the range of words he is subjected to. After all they will learn from the words we use as well.
Hope this helps