Primož Roglič held on to win the Volta a Catalunya general classification in Barcelona ©Getty Images

Slovenia's Primož Roglič sealed victory in the Volta a Catalunya as he held on in a dramatic final stage in Barcelona for his second win on this season's International Cycling Union (UCI) World Tour.

The Olympic champion held a 10-second advantage over Belgian Remco Evenepoel going into the hilly seventh stage.

Evenepoel made his move with 30-kilometres to go to set up a sensational finish but he could not shake off his rival.

It was just Roglič and Spaniard Marc Soler who could follow Evenepoel's attack at the Alt del Castell de Montjuïc.

Roglič led the way into the final descent but a determined Evenepoel sprinted ahead just before the line.

However, it was not enough to snatch a first general classification victory away from Roglič, who recorded a total time of 28hr 19min 10sec, as he finished six seconds off the overall pace.

The winning margin is the slimmest since 2015.

Portugal's João Almeida bagged the bronze medal as he clocked in 2min 11sec later than Roglič.

"I did some super nice steps this week," said Roglič.

"I'm on the way of building up, I need these kind of things to improve and be good.

"Now, first holidays and celebrations, then build up towards the Giro.

"I'm honoured and super pleased to be among the winners of one of the oldest races.

"It was definitely something missing, so I'm honoured, happy.

"Big thanks to my guys around me, we can celebrate."

There was consolation for Evenepoel as his stage seven triumph saw him take the mountains classification from Roglič.

Last year's Vuelta a España winner took it by a single point with an overall score of 69 in addition to the young rider classification ahead of compatriot Cian Uijtdebroeks and France's Lenny Martinez.

"It was a tough one," Evenepoel said.

"As I said before it was going to be really hard to drop Primož on a course like this.

"It was a nice battle with Primoz and I’m happy I could beat him in a sprint."

The result marks Roglič's second International Cycling Union (UCI) World Tour win of the season after he triumphed in the Tirreno-Adriatico on March 12.

The next UCI World Tour event is set to take place on Wednesday (March 29) with the one-day Dwars door Vlaanderen event in Belgium.