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'
|Kompany: Lampard goal could be crucial|
|Not celebrating against old clubs is ´nonsense´ - McCarthy|
|Nuno lauds Valencia players|
|´No concerns´ over Gerrard form - Rodgers|
|Olsen signs contract extension with DC|
|Argentine Primera Division Review: River Plate win again|
|Hamann urges Liverpool to change style|
|Rooney ´not spectacular´ as striker - Van Gaal|
|Spahic to make sensational international return|
|Uruguayan Primera Division Review: Top trio post wins|
|Tevez misses out again as Messi returns|
|Almeria v Atletico Madrid: Gabi issues rallying cry|
|Kouyate out for up to six weeks|
|Barca monitoring Neymar and Rakitic|
|Onazi extends Lazio deal|
|Turkish Super Lig Review: Akhisar Belediyespor continue strong start|
|Academica 2 Estoril 2: Kuca at the double to deny 10-man hosts|
|Wigan Athletic 1 Ipswich Town 2: McCarthy´s men win again|
|Getafe 0 Valencia 3: Visitors go second with comfortable win|
|Juventus v Cesena: Hosts out to maintain perfect record|
|Inter v Atalanta: Mazzarri looking for reaction|
|Borussia Dortmund v Stuttgart: Injury-hit hosts seek swift response|
|West Brom v Hull City: Irvine looking for more of the same in League Cup|
|Russian Premier League Review: CSKA, Dinamo win Moscow derbies|
|Chelsea v Bolton Wanderers: History stacked against the visitors|
|La Liga Preview: Elche set for Real test, Barca head to Levante|
|Rodgers looking for Anfield improvement|
|Pallotta: Strootman is not for sale|
|Zwanziger: 2022 World Cup will not be held in Qatar|
|Caen v Paris Saint-Germain: Blanc out to lift PSG gloom in Normandy|
|Watford boss Garcia released from hospital|
|Inzaghi confident Milan squad can cope with hectic schedule|
|Japan dominate the pool in Incheon|
|Sakho looking to develop Valencia partnership|
|Crystal Palace v Newcastle United: Pardew seeks respite with win at former club|
|Manchester City v Sheffield Wednesday: Gray out to shock City|
|Bowen optimistic away form can continue|
|Tottenham v Nottingham Forest: Kaboul eyes League Cup glory|
|Marotta praises Allegri start|
|League Cup Preview: Sheffield Wednesday, Middlesbrough relish big trips|
|Debuchy out for three months|
|Benteke nearing Villa return|
|Serie A Preview: Roma and Juventus out to maintain perfect starts|
|J.League Preview: Urawa out to consolidate lead|
|Ozil: I have nothing to prove|
|Ribery still on the sidelines for Paderborn clash|
|Malaga v Barcelona: Leaders sweat on Neymar fitness|
|Ancelotti calls for Real unity|
|Anything is possible under Garcia - Gervinho|
|Agger: Rodgers discord led to Liverpool departure|
|Bundesliga Preview: Shock leaders face Bayern test, Stuttgart visit Dortmund|
|Rakitic concentrating on Barca not rivals|
|Rodwell pleased with fitness progress|
|Ligue 1 Preview: Blanc eyes killer instinct|
|PSG must work harder - Ibrahimovic|
|Stoke have held Crouch talks, says Hughes|
|Sanchez confident Hernandez will thrive in Madrid|
|Wasted chances cost Chelsea - Mourinho|
|Pellegrini hails City´s best performance|
|Schneiderlin out to avoid December struggles|
|Pearson buoyed by form of Leicester front three|
|Van Gaal running out of defensive options|
|Champions League no excuse - Sterling|
|Copa Sudamericana Preview: Cerro confident after big win|
|Gentiletti out for six months|
|CONCACAF Champions League Preview: Portland primed for top spot|
|Colombian Primera A Review: Cali rise to the summit|
|Neville slams ´soft-centred´ United|
|Liga del Futbol Profesional Boliviano Review: San Jose go top|
|Ecuadorian Primera A Review: Barcelona move clear|
|Liga MX Review: Ronaldinho scores on league debut|
|Costa Rican Primera Division Review: Nunez fires again for Herediano|
|Paraguayan Division Profesional Review: Sol de America end streak|
|Serie A no two-horse race - Garcia|
|Venezuelan Primera Division Review: Tachira thrash Tucanes|
|Brazilian Serie A Review: Cruzeiro stunned late, Goias crush Palmeiras|
|Peruvian Primera Division Review: Melgar, Cesar Vallejo win again|
|Toronto FC 3 Chivas USA 0: Hosts end winless run|
|Ligue 1 Review: Pressure builds on Blanc, Monaco edge to victory|
|Al-Khelaifi gives Blanc vote of confidence|
|Mazzarri frustrated by draw|
|Luis Enrique salutes ´special´ Messi|
|Iachini laments missed chances|
|La Liga Review: Barca hammer Levante, Villarreal in two-goal comeback|
|Serie A Review: Zeman denied Roma revenge, Inter held|
|Paris Saint-Germain 1 Lyon 1: Umtiti adds to pressure on Blanc|
|Levante 0 Barcelona 5: Five-star Barca crush 10-man hosts|
|Palermo 1 Inter 1: Visitors´ progress checked|
|Arsenal v Southampton: Koeman calls for focus|
|Swansea City v Everton: Both sides looking to bounce back in League Cup|
|Police to investigate after Balotelli abused on Twitter|
|Liverpool v Middlesbrough: Rodgers keen to regain winning habit|
|Arabian Gulf League Review: Al Wahda maintain perfect start, Al Jazira held|
|Real Madrid v Elche: Hosts look to build on Depor demolition|
|Eredivisie Review: Ajax triumph in derby, PSV romp to victory|
|Warnock proud after victory at Goodison|
|Mourinho not interested in Pellegrini jibes|
|Pellegrini slams ´small team´ Chelsea´s approach|
|Bundesliga Review: Leverkusen slip up, Cologne held in derby|
|Martinez rues failure to build on strong start|
|Sewe Sport 1 AC Leopards 0: Kouame strike seals slender advantage|
|Scottish Premiership Review: Derby joy for Dundee United, Celtic held|
|Vita Club 2 CS Sfaxien 1: Hosts seize advantage in semi-final|
|Mixed emotions for Lampard after denying Chelsea|
|Irvine hails best day so far|
|Manchester City 1 Chelsea 1: Lampard denies former club|
|Everton 2 Crystal Palace 3: Howard mistakes cost hosts dear|
|Pearson praises Leicester City spirit|
|Van Gaal laments United collapse|
|Pochettino makes no excuses|
|CSL Review: Evergrande leave it late, Liaoning Whowin edge thriller|
|Leicester City 5 Manchester United 3: Hosts stage famous comeback|
|Tottenham 0 West Brom 1: Morrison gives visitors deserved win|
|Lee claims first Hong Kong gold in Incheon|
|Sunderland v Stoke City: Poyet again up for the cup|
|Ancelotti wants Real consistency|
|Dortmund hit by Mkhitaryan injury blow|
|Inzaghi pleased with Milan progress|
|Monk: Hodgson will be back|
|Pardew: Cisse should not have played|
|We cannot entertain title challenge - Rodgers|
|Bayern Munich v Paderborn: Visitors´ surprise start faces litmus test|
|K. League Review: Suwon close gap on top two|
|Empoli v Milan: Inzaghi eyeing top three|
|MLS Review: Wright-Phillips treble inspires Red Bulls rout|
|Bender: We lacked ambition|
|McInnes unhappy after ugly bust-up|
|Cambiasso impressed with Leicester mentality|
|Valverde: Champions League is not an excuse|
|Simeone wants improvement in discipline|
|Conte keeping tabs on Pelle|
|Marseille deserved to beat Rennes - Bielsa|
|La Liga Review: Real end slump with rout, Atletico share spoils|
|Hart unsure on City future|
|Primeira Liga Review: Quinta inspires first Penafiel win, Braga claim late draw|
|ES Setif 2 TP Mazembe 1: Late winner gives Algerians the edge|
|Inzaghi upbeat despite defeat|