Take a high level Salamence (I suggest level 83 or higher) and it must know Dragon Claw, Flamethrower, and Fly. Those three will be useful, but another move may be useless. Beat all of Lance's Pokemon with Flamethrower, Dragon Claw, and Fly. How do I know this? My sister beat Lance a first time with her friend's Salamence level 72, so its should work.
you have to beat lance and he gives it to you
you meet lance once again for the last time once you beat the elite four
Beat Drarkrai
You can battle Lance an infinite amount of times in Pokemon SoulSilver. He will only upgrade his Pokemon once, however. After the second time, his Pokemon remain the same.
You can use a strong Pokemon to hit all the Elite four's Pokemon and champion Lance's Pokemon (in HeartGold). It depends on your Pokemon level but you can use ice types to beat Lance's Pokemons so it's easy to beat Lance.
you grow up and get a life :)
you can beat red in mt.silver as many times as you want
you do it like you did the first time.
You try to capture it
If its your first time your poke mo should be level 55 laces strongest Pokemon then is a level50 dragonite but if its your second time your Pokemon should be level 78 because I think laces strongest Pokemon the is a level75 dragonite
beat lance and go to olivine docks
dump a pile of dirt on thim