Villarreal got off to a bright start with most of the early chances falling to the feet of Manu Trigueros, who curled one long-range shot narrowly over the bar, and lashed another one wide. Tomás Pina went close from a corner but his header landed on top of the net. Roberto Soldado tested the Celta keeper Sergio Álvarez with a shot that was pushed around the post.
Those wasted opportunities would come back to haunt Villarreal, as Celta inevitably took the lead with their first shot on target. Completely against the run of play, Fabian Orellana received the ball unopposed and fired a brilliant 25 yard effort past the helpless Alphonse Areola. Celta's tails were up at this point and they twice came close to doubling their lead as both Orellana and Iago Aspas spurned chances before half-time.
Villarreal's hopes of getting back into the game were dealt a cruel blow minutes after the restart, when defender Eric Bailly received a second yellow card for a careless handball. The visitors looked to exploit their numerical advantage as they controlled possession and continued to search for that all important second goal. Iago Aspas missed a gilt-edged chance when it looked easier to score.
While it remained 1-0, however, there was always a chance that Villarreal could get back into it. Substitute Denis Suarez duly obliged with a deflected equalizer, which brought a slightly muted celebration from the former Celta man. What followed was a period of pressure from the home side, who could have taken the lead when Soldado found himself clean through and blasted straight at the keeper.
Just when it looked like the hosts had done enough to earn a point, that man Orellana again jinked free outside the box and curled a shot which struck the crossbar, but Nolito was on hand to fire home the rebound.
Villarreal (0) 1
A. Areola; Mario Gaspar, E. Bailly, Víctor Ruíz, Jaume Costa; Samu (Denis Suárez '51), Tomás Pina, Trigueros, Nahuel (A. Rukavina 51'); Léo Baptistão (C. Bakambu 59'), Soldado
Subs not used: M. Barbosa, D. Bonera, Samu Castillejo, J. dos Santos
Goals: Denis Suárez 67'
Bookings: E. Bailly, Soldado
Sent off: E. Bailly
Celta Vigo (1) 2
Sergio Álvarez; Hugo Mallo, G. Cabral, Sergi Gómez, Jonny Castro; A. Fernández, D. Wass (N. Radoja 83'); F. Orellana, P. Hernández (T. Bongonda 73'), Nolito; Iago Aspas (J. Guidetti 81')
Subs not used: L. Madinda, Planas, Josep Señé, Néstor Díaz
Goals: F. Orellana 41', Nolito 90'
Bookings: A. Fernández, Sergi Gómez, D. Wass
Coach: E. Berizzo