Master ball
To get a Master Ball you have to have gotten the Tea from the Old Lady in Pokemon Mansion(first floor front entrance). After you get to Saffron City, train your Pokemon until they are around Level 30-35 so when you face your Rival they will be all around level 40. After you get the card key, go down to the second floor and go to a room all the way on the left. Step on one of the teleport tiles and it will take you to a small room with a man who will give you Lapras and your Rival. AFter you fight your rival and get the Lapras go into the teleportation tile and it will take you to the eleventh floor where you will fight Giovanni(Team Rocket Boss) and a Rocket Grunt. YOu should be able to wipe out Giovanni if you have a really powerfull water or grass pokemon (Blastoise or Venusaur). After defeating Giovanni go talk to the President and he will give you the Master Ball. Master Ball will catch any Pokemon without fail and no matter what the HP. Also, you should save the Master Ball until you get to either the THree Legendary Dogs or Mewtwo.