Croatia went ahead early on when Mateo Kovacic found Anas Sharbini, who bent a shot past goalkeeper Sergio Romero for his first international goal.

Argentina, featuring five Premier League players in their starting XI, levelled when Cristian Ansaldi's shot deflected in off Sergio Aguero's arm.

Messi scored from the spot after Aguero was fouled by goalkeeper Lovre Kalinic.

The Barcelona forward also hit a post as Argentina saw off a much-changed Croatia side, with Luka Modric, Ivan Rakitic, Mario Mandzukic and Dejan Lovren not even among the substitutes.

Former West Ham favourite Carlos Tevez received a rapturous reception when he replaced Aguero in the 62nd minutes, and fellow former Hammer Javier Mascherano went close to adding a third with a long-range drive.

Croatia, who lead qualifying Group H for Euro 2016 after winning their first three matches, play Italy on Sunday in Rome.

Argentina, beaten by Germany in the World Cup final, meet Portugal in a friendly at Manchester United's Old Trafford on Tuesday.