This is a guide to help you catch Legendary Pokémon, including Entei, Raikou, Suicune, Latios, Latias, Ho-oh, Lugia, and others. In general, this guide is meant to help you catch pokémon who have very low catch rates.
Catching Roaming Legendaries
The Legendary Pokémon who roam around Johto and Kanto can be difficult to track down and catch. If you are specifically trying to follow the roaming pokémon, you might find yourself frustrated if the Legendary keeps moving to a different place on the map. How does its movement work? Here is a general idea.
For the best pokéballs to use on these legendaries, check the list of best pokéballs by pokémon.
How the Roaming Legendaries Move
If you are in a route, and you go to a different route, the roaming legendaries will usually move to a route that is next to the one that they were just in. This means that when you are deciding which route to go to next in your hunt for the legendary, try going to one that is adjacent to where the legendary currently is. If you are lucky, the legendary will go to that route, too.
If you are in a city, though, and if you have to pass through a house to exit the city, then usually the legendaries will stay in their current routes when you exit. Therefore, if you are in a city and the legendary is in a route that is connected to the city, just go to that route and the legendary will probably still be there. This is not true, however, if you don't go through a house to exit from the city to that route; in that case, the legendary will move to an adjacent route.
Keep in mind, though, that the legendaries sometimes just randomly relocate to a random spot on the map. Also, whenever you use Fly, the legendaries will always relocate to a random spot on the map.
What to do when you Encounter a Roaming Legendary
As you might already know, when you encounter a roaming legendary, the roaming legendary will run away as soon as you have made your first move. Some people might recommend that you use a move like Mean Look to prevent it from running away, but I recommend against this. Why? Because if you use Mean Look, then you will have to start dealing with the Legendary's moves, which not only makes things difficult for you, but it also reduces the Legendary's PP, and if you don't have much luck with the pokéballs that you throw, the Legendary might use Struggle and KO itself. Now, in most cases, the Legendaries will reappear after you defeat the Elite Four and Champion, but do you really want to have to do that?
What I recommend instead is to just keep following the legendary around the map while having a pokémon in the lead who knows False Swipe and who has a high Speed stat. As soon as you encounter the legendary, use False Swipe. Once you have reduced the legendary's HP to as low as it will go with False Swipe, change your lead pokémon to one that knows a sleep move and also has high speed. The next time you encounter the Legendary, use the sleep move to inflict the sleep status on the legendary.
Interestingly, the legendary will still be able to run away from battle and wander around the map even when it has the sleep status. This is a good thing, because it means that now, you can stock up on Quick Balls (which can be purchased from the Butterfree lady at Safari Zone Gate), then follow the legendary around. Quick Balls give a 4x multiplier when they are used on the first turn of battle, which is the best modifier that you can possibly get from a pokéball when trying to catch a legendary, in most cases. (The Heavy Ball gives a better multiplier for Lugia, and maybe for other legendaries as well. See recommended pokéballs for specific pokémon.)
If you follow the Legendary around rather than using Mean Look to force it into battle, you can keep using Quick Balls every time that you encounter it, getting the 4x bonus each time. So, just keep doing this over and over. The Quick Ball still has a fairly low chance of success (about 9%), but it's the best that you will get for most of the legendaries, so just keep trying until it works, which it eventually will.
This is my preferred strategy because it is no-risk. Unless you choose the wrong move or something, you can't lose roaming legendaries if you try to catch them this way.
How to Catch a Legendary that does not Roam
Some legendary pokémon, like Suicune, Ho-oh, Lugia, Latios/Latias (whichever one you encounter with the Enigma Stone), and others, do not roam around the map and must therefore be engaged in battle in order to be captured. The strategy is slightly different for catching them.
Before you battle one of these legendaries, go buy a bunch of revives and healing items. The legendaries are tough, and you wouldn't want your entire party to be put out of commission before you have a chance to catch them.
Next, check to find out if there is a recommended pokéball for the legendary pokémon that you want to catch. For example, using Heavy Balls is best when trying to catch Lugia, but for most of the other legendaries, Fast Balls are the best option.
This is because many of the Legendaries have high base speed, which gives you a 4x multiplier when you use Fast Balls on them. Fast Balls are a little bit hard to come by, because you can only get them by taking Wht Apricorns to Kurt. Wht Apricorns are only found on Route 3, 33, and 38, as well as from the tree next to Kurt's house. You can also get them from participating in the Pokéathlon.
If you can't get enough Fast Balls, you can look for Timer Balls, which will give you a 4x multiplier if the battle has gone on for at least 30 turns. However, these are hard to get, because they are only available from the Goldenrod Department Store lottery on Saturdays, or from the Sinnoh Field route on the pokéwalker.
It's easier to just stock up on Dusk Balls instead (which can be purchased from many Poké Marts and other locations), and then only fight the legendary at night time (after 8PM) or in a cave. By the way, Ho-oh is considered to be in a cave setting, even though it's at the top of a tower. The Dusk Ball gives you a 3.5x multiplier if used at night or in a cave.
Once you have the necessary supplies, bring a pokémon that knows False Swipe, and start the battle with that. Keep using False Swipe until the legendary's HP is as low as it will go. Then switch to a pokémon that knows a sleep move, and use that until you have successfully inflicted the sleep status on the legendary. Then, start throwing your chosen pokéball type at it. If you have Timer Balls with you that you might need to use, mentally keep track of how long the battle has gone on. If the legendary wakes up, use the sleep move on it again. Hopefully, one of your pokéballs will succeed in catching the legendary before it can run out of PP and start using Struggle, because if you have used False Swipe, then it will KO itself as soon as it uses Struggle.