Teenage forward Ansu Fati was in inspirational form for Barca, combining with Jordi Alba to side-foot home first time into the net in the 15th minute and then striking again four minutes later with another ice-cool finish.
Fati, the 17-year-old in his second season in Barca's first team after a stunning rise last year from the club's youth set-up, then won the penalty which captain Messi dispatched to score the third in the 35th. Villarreal defender Pau Torres scored an own goal right at the end of the first half to heap more pain on Unai Emery's side and Barca continued to dominate the game in the second half without managing to add to their hefty advantage.