Argentina striker Lionel Messi scored five goals in a 5-0 friendly win over Estonia on Sunday, a result which helped him overtake Hungary's great Ferenc Puskas among the all-time international top scorers.

The former Barcelona player got to shine once more on Spanish soil in a match played at the El Sadar stadium in the northern city of Pamplona, 430 kilometres from what for 21 years he called home.

Messi, who has now netted 86 times in 162 games on international duty, opened the scoring with a penalty kick in the eighth minute as he waited for goalkeeper Matvei Igonen to commit before firing the ball into the bottom right corner.

The 34-year-old doubled Argentina's lead just before half-time, adding another goal two minutes into the second half. He sealed the score with two more strikes in the 71st and 76th minutes.

The Argentina captain caught up and left behind the former Hungary and - on four occasions - Spain forward, who scored 84 goals in 89 games.

The Paris Saint-Germain forward also became the first player to have netted five times in both a single European Cup or Champions League clash and in an international match on a senior level.

He previously found the back of the net five times 10 years ago, when Barcelona hammered Bayer Leverkusen 7-1 in the Champions League last 16 second leg at the Camp Nou.

Messi is now three goals behind former Malaysia forward Mokhtar Dahari, in third in the international goalscoring ranks. Iran's Ali Daei (109) is second, while Portugal's Cristiano Ronaldo remains first with 117 goals.

Ronaldo scored twice as Portugal swept to an emphatic 4-0 victory over Switzerland in their UEFA Nations League clash at the Estadio Jose Alvalade in Lisbon.

William Carvalho and Joao Cancelo were also on the scoresheet as the hosts wasted numerous opportunities to inflict more humiliation on the visitors, who suffered their biggest defeat since losing to Germany by the same scoreline in 2008.

Portugal have four points from their opening two Group A2 matches and are ahead of second-place Czech Republic on goal-difference. Switzerland are on zero after back-to-back losses and are now winless in their last four encounters since they qualified for the World Cup in Qatar.

Carvalho opened the scoring when he reacted quickest to the loose ball when Ronaldo's free-kick was parried, before the latter bagged a quickfire brace to extend his record tally of international goals to 117.

Ronaldo should have had a hat-trick when he wasted two excellent opportunities before half-time, the first a barely believable miss from six yards, but it was left to Cancelo to score the fourth for Portugal in the second half.

Portugal host Czech Republic in their next fixture on Thursday, while Switzerland entertain Spain in Geneva on the same evening.

A late goal from defender Inigo Martinez rescued a 2-2 draw for the Spanish against the Czech side in their clash.

The hosts took an early lead after Sparta Prague forward Jakub Pesek scored from close range in the fourth minute, connecting with a pass from Jan Kuchta who got in behind Spain's defence.

The visitors equalised on the strike of half-time when Spain midfielder Gavi, one of three players to keep their place in the team after coach Luis Enrique made eight changes from the 1-1 draw with Portugal, beat Czech goalkeeper Tomas Vaclik with a shot to the far post.

However, the Czech's retook the lead in the 66th minute when forward Jan Kuchta lobbed goalkeeper Unai Simon from just outside the area after he was sent through on goal alone.

Spain scored in the 90th minute to break the hearts of the home fans when Martinez connected with a cross from Marco Asensio and his header just crossed the line.