Barcelona produced a stunning comeback to keep their La Liga title hopes intact with a 3-2 win at Villarreal on Sunday.
It was an emotionally charged encounter at El Madrigal as both teams paid tribute to former Barcelona coach Tito Vilanova, who tragically lost his battle with cancer on Friday.
Vilanova – assistant to Pep Guardiola during his trophy-laden four-year spell at the club – assumed control of the senior team in 2012 and led them to their 22nd La Liga title last year.
Barca found themselves trailing at half-time after Cani's cool finish and Manuel Trigueros doubled the deficit after the break with a firm header.
The visitors fought back ferociously though, and were helped by two own goals from Gabriel and Mateo Musacchio.
Lionel Messi completed the turnaround with seven minutes to play, slotting past Villarreal goalkeeper Sergio Asenjo to cap an excellent team move.
The match was soured by a banana being thrown at Barcelona defender Dani Alves during the second half.
Barcelona are now four points behind leaders Atletico Madrid - who they play on the final day of the season - with three games to go.
Sergio Busquets struggled to hold back tears during the emotional minute's silence which preceded the match, while the Villarreal team donned shirts which paid homage to the late Vilanova.
The early proceedings were understandably subdued, but Messi had the first chance of the game in the 17th minute, with Asenjo producing an important save with his feet.
Barca continued to dominate possession, as usual, although Giovani dos Santos – who came through the ranks at the Camp Nou – was unable to punish his former side at the other end after a quick Villarreal break.
The hosts then claimed the lead on the stroke of half-time, as Cani coolly slotted his first-time shot into the bottom-right corner after collecting Jonathan Pereira's precise ball.
Barcelona began the second half in impressive fashion and looked likely to draw level as Messi's influence on the game grew.
The forward first saw a 25-yard curling effort palmed away by Asenjo, before the goalkeeper kept out two free-kick attempts from the Argentina star.
Villarreal were able to double their lead though, as Trigueros rose brilliantly to steer a pinpoint header past Jose Manuel Pinto from Javier Aquino's cross.
Barcelona finally scored in the 65th minute, with Gabriel diverting Alves' cut-back past his goalkeeper.
Another own goal was to follow, as Barca equalised after Musacchio headed Alves' delivery beyond Asenjo's reach.
And they completed their unlikely comeback in the 83rd minute, as Busquets' lofted ball was headed by Cesc Fabregas, with Messi on hand to steer the winner home.
|9||G. dos Santos|
for J. Perbet 14'
for Pina 35'
for G. dos Santos 82'
|Atletico announce Velazquez capture|
|Giroud set for lengthy absence - Wenger|
|Holders City handed home clash with Wednesday|
|La Liga Preview: Saul not worried by Simeone absence, Barca face tough Villarreal test|
|Eto´o retires from Cameroon duty|
|Aston Villa 0 Leyton Orient 1: Late Vincelot winner sends underdogs through|
|Birmingham City 0 Sunderland 3: Late strikes stun hosts|
|Arsenal 1 Besiktas 0 (1-0 agg): Alexis strike takes Wenger´s men through|
|Stoke City 3 Portsmouth 0: Walters brace sees hosts into League Cup third round|
|Burton Albion 1 QPR 0: Late strike seals upset for fourth-tier hosts|
|Ligue 1 Preview: Bordeaux look to maintain 100 per cent start|
|Dunga: No one guaranteed a place in Brazil squad|
|Serie A Preview: Juve´s Allegri era starts at Chievo|
|Mazzarri calls for professional Inter|
|Utrecht swoop for Peterson|
|Deeney extends Watford stay|
|Alonso calls time on international career|
|Bundesliga Preview: Schalke captain Howedes issues rallying cry, Leverkusen face Hertha|
|Fazio joins Spurs from Sevilla|
|Warnock will control transfers - Parish|
|Pochettino wants Soldado and Townsend to stay at Spurs|
|Augsburg v Borussia Dortmund: Weidenfeller returns for wobbling visitors|
|Celtic complete Wakaso deal|
|Seoul 0 Pohang Steelers 0 (aet, 3-0 on penalties): Yu heroics send Seoul through|
|Guangzhou Evergrande 2 Western Sydney Wanderers 1: Wanderers squeeze through on away goals|
|I´m the future, Benatia´s the past - Manolas|
|Osotspa 3 Chiangrai United 3: Visitors secure point with late rally|
|Israel versus Belgium fixture postponed|
|Fernandes reveals Redknapp contract talks|
|Warnock makes Palace return|
|Eto´o grateful to Mourinho|
|Maiga loaned to Metz|
|Pearson rues ´poor´ Leicester display|
|Bruce: Rhodes deal dead and buried|
|Balotelli set to face Tottenham|
|Di Maria wanted Real stay|
|Dyche wary of inflated transfer market|
|Celtic didn´t deserve Champions League, concedes Deila|
|Game of two halves for Koeman|
|Allardyce hails ´inspired´ Howard|
|CONCACAF Champions League Review: Red Bulls up and running, Rodriguez stars for Saprissa|
|Copa Sudamericana Review: Gimenez double helps Emelec through|
|Eredivisie Preview: Guardado set for PSV bow, Ajax eye recovery|
|Van Gaal ´not shocked´ by Dons defeat|
|Deila: Celtic deserved Champions League exit|
|Barca agree deal for Pereira|
|Lopetegui lauds Porto progression|
|League Cup Review: United hammered by MK Dons, West Ham lose on penalties|
|West Brom 1 Oxford United 1 (aet, 7-6 on penalties): Hosts avoid cup shock|
|Manchester United win ´something dreams are made of´ - Robinson|
|UEFA Champions League Review: Celtic out again, Porto safely through|
|United rebuild will take time - Van Gaal|
|Erbil 2 Ha Noi T&T 0 (agg 3-0): Iraqi side comfortably into the AFC Cup semis|
|West Ham 1 Sheffield United 1 (aet, 4-5 on penalties): Valencia miss proves crucial in shootout defe|
|Millwall 0 Southampton 2: Koeman claims first win|
|MK Dons 4 Manchester United 0: Humiliation for Van Gaal|
|Swansea City 1 Rotherham United 0: Gomis off the mark in League Cup clash|
|Leicester City 0 Shrewsbury Town 1: Mangan seals shock win for Shrewsbury|
|Burnley 0 Sheffield Wednesday 1: Visitors dump Dyche´s men out of League Cup|
|Walsall 0 Crystal Palace 3: Gayle treble lifts Palace gloom|
|Gillingham 0 Newcastle United 1: Egan own goal secures Newcastle triumph|
|Coupe de la Ligue Review: Auxerre, Ajaccio secure big wins|
|Al Ittihad 1 Al Ain 3: Gyan helps visitors secure semi-final spot|
|Hull City v Lokeren: Elmohamady calls for vocal support|
|Al Sadd 0 Al Hilal 0 (agg 0-1): Visitors hang on to progress|
|Tottenham v AEL: Pochettino eyes continuation of good form|
|Benitez: The pressure is on Athletic|
|Eto´o completes Goodison Park move|
|Reus nets in Dortmund friendly win|
|Roma secure Manolas signing|
|Aduriz: We can´t play for a draw|
|Al Hadd 2 Al Qadsia 2 (agg 3-3): Last-gasp leveller seals away-goal victory for visitors|
|United break transfer record for Di Maria|
|Hull announce Dawson signing|
|Moses set for Stoke debut|
|Hodgson pays tribute to Lampard|
|UEFA Europa League Play-Off Preview: Lyon look to reverse upset, Inter defend three-goal lead|
|Lukimya pens new Bremen deal|
|Bayern complete Benatia swoop|
|Bayern complete Benatia swoop|
|M´Bia replaces Eto´o as Cameroon captain|
|Palermo complete double defensive deal|
|Bakambu claims Swansea and Freiburg interest|
|Inter v Stjarnan: Mazzarri may tinker for Europa League test|
|Kitchee 0 Ninh Binh 1 (agg 4-3): Hosts hold off strong challenge to reach last four|
|Guardado pens PSV loan deal|
|Lampard announces international retirement|
|Wenger unsure on severity of Giroud injury|
|Mascherano signs new Barca contract|
|Basanta seized Europe chance with Fiorentina|
|Marchisio: Allegri´s philosophy will boost Juve´s Europe hopes|
|Persipura 6 Al Kuwait 1 (agg 8-4): Hosts romp holders to make history|
|Cahill thrilled with Chelsea start|
|Gardner completes Brighton loan|
|Pienaar out of Chelsea clash, Lukaku faces assessment|
|Seoul v Pohang Steelers: Korean rivals battle for AFC Champions League semi spot|
|Lamela keen to add goals|
|Jovetic refuses to take plaudits|
|Henderson tips Balotelli for success|
|Moya takes positives from defensive showing|
|Pepe unperturbed by scrappy showing|
|New youngsters will adapt, says Rodgers|
|Girard confident of Lille progression|
|Riise fears for Fulham under Magath|
|Balotelli: ´It was a mistake´ to leave England|
|Simeone: My suspension made no difference|
|Guangzhou Evergrande v Western Sydney Wanderers: Aussies braced for hostile reception|
|Bayern need time - Alaba|
|Ancelotti: Fatigue behind lacklustre display|
|Pellegrini delighted with Premier League start|
|Moreirense 0 Sporting Braga 0: Conceicao´s men held in Moreira|
|Liverpool will bounce back - Rodgers|