He finished ninth at the 2002 World Junior Championships. He threw a personal best throw of 81.20 metres during the qualifying round at the 2008 Olympic Games and finished twelfth in the final. He was less successful at his first World Championships in Athletics the following year, failing to make the final with a throw of 75.76 m.
Veselý improved his personal best by more than five metres at a meeting in Olomouc in May 2010, throwing a world leading mark of 86.45 m.[2] He was ninth at the 2010 European Athletics Championships that year. He came close to a major medal with a fourth-place finish at the 2011 World Championships in Athletics. He had his second best ever throw at the Shanghai2012 Diamond League meet, winning with a mark of 85.40 m.[3] At the 2012 Olympic Games, Veselý threw a new personal best of 88.34 m to improve his world lead;[4] in the final, however, his last throw of 83.34 m was only good enough for 4th place.[5] In 2017, following the disqualification of Oleksandr Pyatnytsya due to doping, Veselý was awarded the bronze medal.[6]
In 2013 Veselý won the World Championships with a mark of 87.17 meters, only 10 cm ahead of Tero Pitkämäki. With this result he became the second Czech world champion in men's javelin throw beside Jan Železný.
During 2014 he wasn't able to defend his title at the Europeans: Veselý finished second with 84.79 m behind Antti Ruuskanen, who was in his best form in the final, reaching 88.01 m at the third round.