Pokemon Go is free, to a certain degree. If you run out of Pokeballs and other supplies, you'll need to run around to various PokeStops to get more. That can take a while and make leveling difficult.
The other obvious option would be to buy what you need from the game's shop, but no one wants to spend money when there is another option. Luckily there is.
Level fast with this technique
First, gather up a group of Pokeplayers for a leveling party. Next, drive (with the game off, of course) to an area that has multiple PokeStops in one small area.
Some places that typically have a high concentration of Pokestops are historical districts, town squares, tourist attractions and locations that have many churches in one area.
Once you've found a good spot, walk around and harvest all of the PokeStops for their goodies. Then, have one person set a lure at each PokeStop. Once the lures are in place, walk from PokeStop to PokeStop catching the hoard of Pokemon that appear.
Running out of Pokeballs or other items? Don't worry. Setting a lure at a PokeStop makes it refresh with new items every couple of minutes. So, by the time you make a loop around all of the nearby PokeStops, they will be ready for you to spin again.
Collecting droves of Pokemon in a short amount of time will level you up quickly without a lot of searching, driving while Pokemon Go-ing (a big no-no) or buying gear like incense.
Bonus: Rarer Pokemon
Be ready for your Pokeparty to be joined by dozens of other players. This is great, though. There's a theory that the more people that are located in a PokeStop area, the more likely a rare Pokemon will be to show up.
I tested this theory. Sure enough, I was able to catch a Magmar, Exeggutor and a Nidorina in the span of an hour. While not the rarest Pokemon, they were a lot better than the dozens of Pidgey and Rattata creatures I usually get.