Silvestre Varela opened the scoring for the visitors after 20 minutes and Walter made the points safe with a second goal 11 minutes later.

The result ensured Porto, who had long since secured the title, finished the campaign with a remarkable 84 points from their 30 games, 21 points clear of Benfica, who were held to a 3-3 home draw against Uniao Leiria.

The hosts were ahead three times through goals from Oscar Cardozo, Javi Garcia and Franco Jara, but were pegged back by Joao Silva's brace either side of Luiz Leandro Lima's strike.

Benfica finished the match with 10 men following the dismissal of Luisao nine minutes from time.

Braga - who will face Porto in the Europa League final in Dublin on Wednesday - went down 1-0 at home to Sporting Lisbon.

The result, clinched by Yanick Djalo's early goal, moved Sporting above Braga into third - both clubs having already qualified for next season's Europa League.

Relegated Portimonense left the top flight with a whimper, going down 3-1 at Vitoria Setubal.

Elias had put the visitors ahead with a 17th-minute opener but Neca levelled from the penalty spot just after the half-hour and second-half strikes from Claudio Pitbull and Michel Bertasso sealed matters.

Portimonense's miserable evening was compounded by the late dismissal of Ricardo.

Naval finished bottom of the pile after going down 3-0 at Guimaraes, Jorge Ribeiro (two) and Edgar the men on target.

Fifth-placed Guimaraes have also secured a Europa League spot, having reached the Portuguese cup final against Champions League qualifiers Porto.

Goals at either end of the match from Diego Barcelos and substitute Edgar Costa secured Nacional a 2-0 triumph at Beira Mar which ensured they finished sixth.

Pacos Ferreira concluded the season in style with a 5-1 victory over Academica.

Mario Rondon and Ozeia grabbed two goals apiece and Luis Pizzi added a fifth to put Pacos firmly in the driving seat at half-time, with Antonio Eder's 82nd-minute effort scant consolation for the third-bottom visitors.

Finally, Olhanense twice came from behind to earn a 2-2 draw against Rio Ave, Jean-Paul Yontcha's 57th-minute goal cancelling out Yazalde's ninth-minute opener and then substitute Eduardo Dady levelling matters after a Joao Tomas strike.