Edinson Cavani scored twice as Uruguay shattered Cristiano Ronaldo's World Cup dream with a 2-1 victory over Portugal in Sochi. France beat Lionel Messi's Argentina 4-3 in a thrilling last 16 World Cup match on Saturday as teenager Kylian Mbappe scored two goals in a superb performance in Kazan.