Thomas Barr has claimed victory in the 400m hurdles at a top level meeting in Lucerne.

The Waterford man, who narrowly missed out on bronze at the Rio Olympics, put in a trademark strong finish to run a season's best of 49.10 and claim a surprise win over American Teejay Holmes and Jamaican Shawn Rowe.

Barr put in a sensational final 30m to move from seventh, going over the final hurdle, to take the win.