after beating the fifth gymleader Wake, you go and use surf to go from Juplife City to Canlave City.
beat the fifth gem leader than you get the Hm surf
you go to sunyshore city and beat the gym leader
go to hearthome city
beat all gyms or cheat with ar ds
You get it when you beat the Galaxy Leader in the Base in Veilstone City. He brings it to you!
beat the fifth gem leader than you get the Hm surf
if you mean platinum you just have to go to the hearthome city gym and beat the leader
Beat the gym leader
beat 50 trainers
beat gym leader Candice
with fighting type pokemon
Follow Galactic Grunt until he battles you.
you find him
Beat the fuchsia city gym leader.
you go to sunyshore city and beat the gym leader
grass types
go to hearthome city