#1. Capture Pokemon
Well this is a pretty obvious one, especially due to the fact that "Gotta Catch Em' All" is the Pokemon franchise slogan. However, capturing Pokemon is one of the best and most efficient ways to gain XP. You will gain experience points for skillfully throwing Pokeballs (Eg. Nice throw, great throw, excellent throw) and capturing wild Pokemon.
Not only will you gain a set amount of XP for capturing Pokemon, if the Pokemon is new you will get an added XP bonus! Even better, this added bonus is substantially more than the standard XP award you get normally. Capturing new Pokemon is most effective for lower level players, as the XP requirement for each Level up is much less in the early stages of the game.