Ash was able to catch many Tauros because he was in the safari zone. Ash caught all the 30 Tauros in the episode "The legend of Dratini (Mininju in Japanese)" season 1 episode 35. Ash's goal was to catch several pokemon but everytime he threw the pokeball, Tauros came running in.
This episode is banned in many countries except Japan. It is banned because of the use of fire worms used directly on characters.
The reason why Ash was able to catch many Tauros Pokemon is because he was in the Safari Zone. The safari zone is an area wherein participants can catch different type of Pokemon that they see. His goal was to catch as many Pokemon as he could. Every time he would try to throw a poke ball, a Tauros would run in front of the ball.
This made him catch a total of 30 Tauros. Of course, he was able to keep one Tauros while the rest escaped. He used the Tauros that he had to a battle with Dragonite. The battle ended with Pikachu doing a thunderbolt that allowed Ash to win the match. After some time, he allowed the Tauros to return to its herd when Ash reached Pallet Town again.