An inspired Lionel Messi scored from the penalty spot and Julian Alvarez struck twice as Argentina beat Croatia 3-0 on Tuesday to reach their second World Cup final in eight years.

The two-times world champions, backed by a huge majority of the crowd at the Lusail Stadium, produced their best display of the tournament to ensure they will meet the winners of Wednesday's semi-final between holders France and Morocco in Sunday's final.

Messi, 35, who suffered defeat to Germany in the 2014 final, is desperate to crown his extraordinary career by winning his first World Cup and a third for Argentina after wins in 1978 and 1986.

And after getting his team on the way to victory with a perfectly struck first-half penalty he made sure of the win by brilliantly creating the third goal.

"It's crazy, we did it, we did it, we're going to play one more final, once again Argentina is in a World Cup final," said Messi, after celebrating in front of the massed ranks of South American supporters who have travelled to Qatar.

"Seeing all these people, this family, throughout the World Cup, what we have experienced is something incredible. We are going for the last game, which is what we wanted," he added.

Croatia, runners-up in Russia four years ago, paid the price for some poor defending as they went out in the last four for the second time after their 1998 loss to France.

It was not until the 25th minute when the game showed signs of life with a low pot shot from outside the box by Enzo Fernandez but Croatia keeper Dominik Livakovic did well to get across and keep it out.

It was a tight affair but then a simple lofted ball over the top from Fernandez caught out the Croatian defence, Alvarez latched on to it, knocking the ball past the advancing Livakovic who collided with the striker and Italian referee Daniele Orsato pointed to the spot.

Scoring record

Livakovic guessed correctly but his dive was in vain as Messi's sweetly struck drive flew high into the net to put his side 1-0 up in the 34th minute.

It was Messi's fifth goal of the tournament, making him joint top-scorer with France's Kylian Mbappe. His 11th career goal -- in a record-equalling 25th World Cup appearance -- also took him past Gabriel Batistuta as Argentina's all-time World Cup top scorer.

Five minutes later, Argentina doubled their lead when, after a break from a corner, Alvarez picked the ball up inside his own half and began a long dribble goalwards.

With the Croatian defence backing off, Alvarez rode weak challenges from Josip Juranovic and Borna Sosa and then slipped the ball past Livakovic to send the heavily Argentine crowd into delirium.

Alexis Mac Allister then went close with an angled header from a corner, forcing a fine save out of Livakovic to avoid a third.

All Croatia could muster in response, before the break, was a low Juranovic cross-shot that Emiliano Martinez reacted well to.

Croatia coach Zlatko Dalic responded with a double substitution at the break, introducing Nikola Vlasic and Mislav Orsic, before introducing striker Bruno Petkovic five minutes later.

They were positive moves but still Argentina looked the more dangerous with Messi, after a swift exchange with Fernandez, forcing a save at the near post.

Messi saved his best for last though, tormenting Josko Gvardial down the right before leaving the 20-year-old defender behind and pulling the ball back to the clinical Alvarez who coolly slotted home.

Croatia's dream was over, their 37-year-old playmaker Luka Modric, so key to their outstanding record in the past two tournaments, taking the applause when taken off nine minutes from the end of what was surely his final World Cup appearance.

But it is far from over for Argentina, Alvarez and Messi. 

They are peaking just in time for the biggest game of their lives.