Teenage substitute Sandro Ramirez scored his first Barcelona goal as the Spanish runners-up snatched a late win at La Liga rivals Villarreal.

The Catalans dominated throughout but could not find a breakthrough until 18-year-old forward Sandro tapped in.

They hit the woodwork before half-time when Lionel Messi's free-kick was pushed onto the post by Sergio Asenjo.

But Villarreal almost took the lead against the run of play when Tomas Pina's angled drive hit the post.

The visitors controlled possession and territory but looked set to be frustrated against a Villarreal side which finished a credible sixth on their return to the Spanish top flight last season.

That was until Sandro, another product of Barca's La Masia academy, gleefully tucked in a loose ball after Messi was denied from a tight angle.

Neymar in action against Villarreal

Neymar made his return for Barcelona as a second-half substitute following injury

The Spain youth international's winner means Barca have taken maximum points from their two La Liga matches under new boss Luis Enrique.

Former Barca player Enrique appears to be asking his players to play their trademark possession-based game at a higher tempo than they did under his predecessor Tata Martino.

But for a long time, it did not look as though Villarreal would tire and allow themselves to be prised open by the visitors.

Unsurprisingly, four-time world player of the year Messi was the focal point of Barca's brightest attacking play, creating a host of chances before providing the assist for Sandro.

Barca right-back Dani Alves, who ate a banana thrown on to the pitch in this fixture last season, was jeered by Villarreal fans throughout.

Lineup, Bookings (2) & Substitutions (6)

Villarreal

  • 01 Asenjo
  • 02 Perez Martinez
  • 18 Costa Jordá (de Abreu - 59' )
  • 21 Soriano Llido
  • 05 Musacchio
  • 15 Ruiz
  • 04 Pina
  • 14 Trigueros Muñoz
  • 09 dos Santos
  • 10 Gracia Calmache (Espinosa - 70' )
  • 17 Cheryshev (Vietto - 65' )

Substitutes

  • 07 Vietto
  • 19 Gómez Bardonado
  • 20 de Abreu
  • 22 Rukavina
  • 23 Moreno Balagueró
  • 24 Espinosa
  • 25 Sánchez Martínez

Barcelona

  • 13 Bravo
  • 22 Dani Alves Booked
  • 18 Alba
  • 05 Busquets
  • 03 Piqué
  • 24 Mathieu
  • 04 Rakitic
  • 12 Alcántara do Nascimento (Xavi - 75' )
  • 10 Messi
  • 07 Pedro Booked (Ramírez - 70' )
  • 31 El Haddadi (Neymar - 59' )

Substitutes

  • 02 Montoya
  • 06 Xavi
  • 11 Neymar
  • 15 Bartra
  • 20 Sergi
  • 25 Masip
  • 29 Ramírez
Ref: Carlos Velasco Carballo
Att: 21,200

Match Stats

Shots

9 20

On target

0 8

Corners

3 10

Fouls

12 9

Live Text Commentary

Full time

Full Time Match ends, Villarreal 0, Barcelona 1.

90:00 +3:00 Full time

Full Time Second Half ends, Villarreal 0, Barcelona 1.

90:00 +2:10

Lionel Messi (Barcelona) wins a free kick on the right wing.

90:00 +2:10

Foul by Manu Trigueros (Villarreal).

90:00 +1:25

Offside, Barcelona. Jeremy Mathieu tries a through ball, but Neymar is caught offside.

88:59

Attempt missed. Neymar (Barcelona) header from the centre of the box is too high. Assisted by Dani Alves with a cross.

86:13

Attempt missed. Luciano Vietto (Villarreal) right footed shot from the right side of the box is close, but misses to the right.

85:02

Attempt missed. Manu Trigueros (Villarreal) left footed shot from outside the box is just a bit too high. Assisted by Tomás Pina.

83:53

Attempt missed. Giovani dos Santos (Villarreal) left footed shot from the left side of the six yard box is close, but misses to the left. Assisted by Mateo Musacchio with a headed pass following a corner.

83:14

Corner, Villarreal. Conceded by Gerard Piqué.

83:13

Attempt blocked. Luciano Vietto (Villarreal) right footed shot from outside the box is blocked.

81:42 Goal scored

Goal! Goal! Villarreal 0, Barcelona 1. Sandro Ramírez (Barcelona) left footed shot from very close range to the centre of the goal.

81:41

Attempt saved. Lionel Messi (Barcelona) left footed shot from a difficult angle on the right is saved in the centre of the goal.

81:20

Attempt blocked. Lionel Messi (Barcelona) left footed shot from the centre of the box is blocked. Assisted by Neymar.

76:27

Attempt blocked. Lionel Messi (Barcelona) right footed shot from the centre of the box is blocked. Assisted by Dani Alves.

76:27

Corner, Barcelona. Conceded by Víctor Ruiz.

74:03 Substitution

Substitution Substitution, Barcelona. Xavi replaces Rafinha.

73:12

Corner, Barcelona. Conceded by Gabriel Paulista.

71:48

Attempt blocked. Lionel Messi (Barcelona) left footed shot from the centre of the box is blocked. Assisted by Rafinha.

71:07

Attempt missed. Javier Espinosa (Villarreal) left footed shot from a difficult angle on the left misses to the right.

71:03

Tomás Pina (Villarreal) hits the right post with a left footed shot from outside the box.

70:54

Attempt blocked. Tomás Pina (Villarreal) right footed shot from outside the box is blocked. Assisted by Giovani dos Santos.

70:02

Attempt missed. Neymar (Barcelona) right footed shot from the centre of the box is too high. Assisted by Dani Alves with a cross.

69:59

Attempt blocked. Sandro Ramírez (Barcelona) right footed shot from the right side of the box is blocked. Assisted by Lionel Messi.

69:17 Substitution

Substitution Substitution, Barcelona. Sandro Ramírez replaces Pedro.

69:05 Substitution

Substitution Substitution, Villarreal. Javier Espinosa replaces Cani.

67:08

Attempt blocked. Neymar (Barcelona) right footed shot from very close range is blocked.

66:02

Attempt missed. Lionel Messi (Barcelona) header from the centre of the box is close, but misses to the left. Assisted by Ivan Rakitic with a cross following a corner.

65:34

Corner, Barcelona. Conceded by Sergio Asenjo.

65:32

Attempt saved. Lionel Messi (Barcelona) left footed shot from outside the box is saved in the top right corner.

64:29

Lionel Messi (Barcelona) wins a free kick in the attacking half.

64:29

Foul by Tomás Pina (Villarreal).

64:03 Substitution

Substitution Substitution, Villarreal. Luciano Vietto replaces Denis Cheryshev.

63:03

Rafinha (Barcelona) wins a free kick in the attacking half.

63:03

Foul by Cani (Villarreal).

61:08

Foul by Jeremy Mathieu (Barcelona).

61:08

Cani (Villarreal) wins a free kick in the attacking half.

59:30

Corner, Barcelona. Conceded by Víctor Ruiz.

58:52 Substitution

Substitution Substitution, Barcelona. Neymar replaces Munir El Haddadi.

58:23 Substitution

Substitution Substitution, Villarreal. Gabriel Paulista replaces Jaume Costa because of an injury.

58:14

Delay over. They are ready to continue.

57:25

Delay in match Jaume Costa (Villarreal) because of an injury.

52:14

Pedro (Barcelona) wins a free kick on the right wing.

52:14

Foul by Bruno (Villarreal).

47:15

Dani Alves (Barcelona) wins a free kick in the defensive half.

47:15

Foul by Jaume Costa (Villarreal).

45:49

Offside, Villarreal. Mateo Musacchio tries a through ball, but Cani is caught offside.

45:00

Second Half begins Villarreal 0, Barcelona 0.

45:00 Half time

Half Time First Half ends, Villarreal 0, Barcelona 0.

44:55

Attempt saved. Rafinha (Barcelona) left footed shot from outside the box is saved in the bottom left corner. Assisted by Dani Alves with a cross.

42:42

Foul by Rafinha (Barcelona).

42:42

Tomás Pina (Villarreal) wins a free kick in the defensive half.

41:47 Booking

Booking Dani Alves (Barcelona) is shown the yellow card.

40:41

Ivan Rakitic (Barcelona) wins a free kick on the right wing.

40:41

Foul by Jaume Costa (Villarreal).

39:55

Munir El Haddadi (Barcelona) wins a free kick in the defensive half.

39:55

Foul by Jaume Costa (Villarreal).

39:27

Foul by Pedro (Barcelona).

39:27

Tomás Pina (Villarreal) wins a free kick on the right wing.

38:58

Attempt missed. Munir El Haddadi (Barcelona) header from the centre of the box is close, but misses to the left. Assisted by Lionel Messi with a cross.

38:17

Attempt missed. Denis Cheryshev (Villarreal) left footed shot from the left side of the box misses to the left. Assisted by Cani with a through ball following a set piece situation.

37:29

Foul by Dani Alves (Barcelona).

37:29

Denis Cheryshev (Villarreal) wins a free kick on the left wing.

36:53 Booking

Booking Pedro (Barcelona) is shown the yellow card for a bad foul.

36:50

Foul by Pedro (Barcelona).

36:50

Giovani dos Santos (Villarreal) wins a free kick in the defensive half.

36:07

Corner, Barcelona. Conceded by Víctor Ruiz.

35:04

Ivan Rakitic (Barcelona) wins a free kick in the defensive half.

35:04

Foul by Manu Trigueros (Villarreal).

34:05

Attempt missed. Jeremy Mathieu (Barcelona) left footed shot from the left side of the box is too high following a corner.

33:50

Corner, Barcelona. Conceded by Jaume Costa.

31:32

Corner, Barcelona. Conceded by Jaume Costa.

30:10

Attempt missed. Dani Alves (Barcelona) right footed shot from outside the box misses to the left. Assisted by Lionel Messi.

27:52

Attempt saved. Lionel Messi (Barcelona) left footed shot from a difficult angle and long range on the right is saved in the bottom right corner.

26:43

Dani Alves (Barcelona) wins a free kick on the right wing.

26:43

Foul by Cani (Villarreal).

26:11

Corner, Barcelona. Conceded by Mario.

23:34

Foul by Dani Alves (Barcelona).

23:34

Bruno (Villarreal) wins a free kick in the defensive half.

22:38

Attempt missed. Víctor Ruiz (Villarreal) left footed shot from the left side of the six yard box is close, but misses the top left corner. Assisted by Bruno with a headed pass following a corner.

22:15

Corner, Villarreal. Conceded by Jordi Alba.

21:43

Foul by Rafinha (Barcelona).

21:43

Tomás Pina (Villarreal) wins a free kick in the attacking half.

21:08

Foul by Ivan Rakitic (Barcelona).

21:08

Denis Cheryshev (Villarreal) wins a free kick in the defensive half.

20:47

Offside, Barcelona. Dani Alves tries a through ball, but Munir El Haddadi is caught offside.

20:25

Jordi Alba (Barcelona) wins a free kick in the defensive half.

20:25

Foul by Cani (Villarreal).

14:28

Corner, Barcelona. Conceded by Sergio Asenjo.

14:26

Attempt saved. Pedro (Barcelona) left footed shot from the left side of the box is saved in the top right corner. Assisted by Lionel Messi.

14:05

Offside, Barcelona. Lionel Messi tries a through ball, but Dani Alves is caught offside.

13:11

Foul by Ivan Rakitic (Barcelona).

13:11

Manu Trigueros (Villarreal) wins a free kick in the defensive half.

10:45

Attempt missed. Ivan Rakitic (Barcelona) right footed shot from outside the box is too high. Assisted by Munir El Haddadi.

10:03

Sergio Busquets (Barcelona) wins a free kick in the defensive half.

10:03

Foul by Tomás Pina (Villarreal).

8:20

Offside, Villarreal. Cani tries a through ball, but Giovani dos Santos is caught offside.

7:47

Corner, Villarreal. Conceded by Jeremy Mathieu.

3:10

Attempt saved. Lionel Messi (Barcelona) left footed shot from outside the box is saved in the centre of the goal. Assisted by Pedro.

2:30

Rafinha (Barcelona) wins a free kick on the left wing.

2:30

Foul by Cani (Villarreal).

1:37

Attempt missed. Munir El Haddadi (Barcelona) left footed shot from outside the box is close, but misses to the right following a corner.

1:05

Corner, Barcelona. Conceded by Víctor Ruiz.

0:00

First Half begins.

0:00

Lineups are announced and players are warming up.

Live data and text provided by our data suppliers