I have found the following method works quite well:
As soon as the pup gets to the end of the lead abruptly turn and walk the other way so the pup is now behind you. Wait for him to catch up to you and if he gets ahead, turn around and walk in the original direction.
You may have to walk back and forth over the same are multiple times and feel like a bit of a knob but EVENTUALLY the dog gets the idea that by pulling he goes nowhere.
Good luck.