When it comes to Legendary Pokémon, Ash hasn't really caught one, neither in the anime series, nor in the movies. He has befriended practically all of them, as he aided the Legendary Pokémon in the movies and protected them from harm, but he hasn't actually caught one.