Lionel Messi scored his 400th and 401st goals for club and country, Neymar hit a hat trick and Barcelona thrashed Granada 6-0 in the Spanish league.

Earlier, Cristiano Ronaldo also found the net for his sixth straight game in Real Madrid's 2-0 win at Villarreal.

Messi's 358th goal for Barcelona, along with 42 for Argentina, came with Barcelona leading 3-0 when he headed in Dani Alves' superb one-touch cross in the 56th minute.

He added number 359 for the Catalan club in the 82nd to cap the lopsided win.

Earlier, Ronaldo kept up his rich La Liga scoring form to take Real Madrid up to fourth.

Villarreal were able to match Real's slick passing for much of the game but their finishing let them down. Luka Modric gave the visitors the lead on the half hour with a drive into the corner from 20 yards.

Carlo Ancelotti gave his attacking players licence to exchange position and Karim Benzema, returning to the side, picked out Ronaldo to finish clinically in the centre of the penalty area five minutes from the break. It was his 10th league goal this season.

Villarreal continued to press forward after the restart with Mario Gaspar and Gabriel going close with efforts but following the high tempo of the first half both teams began to run out of steam.

Real now have 12 points from six games.