HM03 - Surf

HM03 Surf is a move that can be used outside of battle to surf across bodies of water to get to different areas of the game.  Being able to use Surf outside of battle requires a specific badge in each region.
In the Kanto region you can obtain Surf by talking to the NPC in the last secret house in the Safari Zone.  A map can be found here.
To use Surf outside of battle in the Kanto region, you must first defeat Koga in the Fuchsia City Gym.

In the Johto region you can obtain surf by talking to the Kimono Girls in the Dance Theater after defeating the Ecruteak City Gym…which is great because you can’t use it outside of battle until you defeat the Ecruteak City Gym.