This page explains how to find and catch Mesprit in Pokémon Brilliant Diamond and Shining Pearl.
When Can You Find Mesprit?
You can find Mesprit after you have caught or defeated Dialga or Palkia at the Mount Coronet Summit.
Where to Find Mesprit
Mesprit can be found in the cave in the middle of Lake Verity, which is northwest of Twinleaf Town. When you talk to Mesprit, it will disappear and roam around the Sinnoh region, and there will be a cutscene.
How to Find Roaming Mesprit
After Mesprit starts roaming around the Sinnoh region, you can track it with the Marking Map app, which you can get by talking to the president of the Pokétch Company in Jubilife City. The president is standing in front of the reception desk on the ground floor of the Pokétch Company building. If he doesn't give you the Marking Map app right away, keep talking to him until you get it.
Press R to display the Pokétch and press R again to make it bigger. Press the button on the Pokétch until it shows the map of Sinnoh. You will see Mesprit's location marked on the map with a flashing symbol. Press R to make the Pokétch smaller so you can keep an eye on Mesprit's location.
If you try to go to where Mesprit is on the map, Mesprit is likely to move to a different location. However, if you move back and forth between two different locations, you will see that Mesprit usually moves to a neighboring location instead of a place far away from where it was. Because of this, it is recommended to go to a place like Jubilife City and move back and forth between the city and a neighboring route, and watch where Mesprit goes. If you're lucky, Mesprit will eventually move to the same location where you are. When this happens, run around in the grass or surf in the water in that area, and you might encounter Mesprit. You can use Repels to avoid encountering wild pokémon, and if you have a pokémon that knows Sweet Scent, you can use it while standing in grass to start a pokémon battle for a chance to encounter Mesprit.
Mesprit is level 50. It will run away on its first turn. If you don't want to use a Master Ball to catch it, you can inflict status ailments and reduce its HP. It will retain the status ailments and HP even after it runs away. To help catch it this way, it is recommended to have a lead pokémon that knows Thunder Wave, and use it on the first turn to inflict Paralysis, which will slow Mesprit down, giving slower pokémon a chance to make a move before Mesprit runs away. Paralysis is recommended instead of Sleep, because Sleep will eventually wear off, but Paralysis is permanent. Once you have inflicted Paralysis, you can keep following Mesprit around, and have a lead pokémon that knows False Swipe, to gradually reduce Mesprit's HP to 1 over the course of your battles with it. After Mesprit's HP is 1, you can put a pokémon in the lead that knows Mean Look, and use that on the first turn, then throw pokéballs at Mesprit until you catch it. Use Dusk Balls if it's night time, and use Dive Balls if the battle started on water or from fishing (even if it's night time, because Dive Balls have a better catch probability). The turn count resets whenever Mesprit flees, so don't use Timer Balls unless you have used Mean Look and the battle has gone on for at least 30 turns. Otherwise, use Ultra Balls.
If you defeat Mesprit, it will reappear whenever you defeat the Elite Four and Champion for the first time or you defeat them in rematches. Mesprit only stops reappearing after you catch it.