How to Get Starter Pokémon From Professor Oak on "Pokémon HeartGold"
- 1). Complete the Johto and Kanto regions of the game by collecting all 16 Gym Badges and defeating the Pokémon Leagues in both areas.
- 2). Go to Mount Silver in the far west of the region and take on Red.
- 3). Beat Red's six Pokémon to win the battle. He has a level 88 Pikachu, a level 80 Lapras, a level 82 Snorlax, a level 84 Venusaur, a level 84 Charizard and a level 84 Blastoise.
- 4). Talk to Red to get the HM08 (Rock Climb).
- 5). Head east on Route 22 to Veridian City and then south on Route 1 to Pallet Town.
- 6). Go to Professor Oak's lab and talk to him; he will offer you your choice of starter Pokémon.
Source...