Barcelona's hopes of winning LaLiga for a third successive season suffered a blow as they were held to a 2-2 draw at Celta Vigo – handing Real Madrid a huge boost in the title race.
However, after Fedor Smolov had equalised earlier in the second half, Iago Aspas curled in an 88th-minute free-kick to bring Celta level again in a see-saw contest in Galicia.
The hosts missed a golden opportunity to snatch victory in the closing minutes too, Nolito shooting straight at Marc-Andre ter Stegen after being set up Denis Suarez.
While the result is good enough to move Barca a point clear at the summit, Madrid – who hold the head-to-head edge over their rivals – can retake top spot so long as they avoid defeat at Espanyol on Sunday.
The dramatic late twist means Barca have now failed to win on their last five trips to Balaidos, while Messi remains stuck on 699 career goals after a third straight outing without scoring.
The Argentinian opted to set up Suarez rather than have an attempt himself from a 20th-minute free-kick well within range, Celta's decision to put a player on each post allowing him to clip the ball into the six-yard box for an unmarked Suarez to nod in his first goal since January.
Both teams hit the woodwork in the first half but Celta replied five minutes after the break, Okay Yokuslu breaching a high defensive line with a run from deep before squaring for Smolov to finish.
Suarez reclaimed the lead when he swivelled impressively and fired a low, left-footed shot across goalkeeper Ruben Blanco, though Quique Setien's men were once again unable to hang on to their advantage.
Substitute Rafinha, on loan from Barcelona of course, was fouled to give Aspas the opportunity to curl his set-piece attempt around the side of the wall and into the net.
What does it mean? Real trouble for reigning champions
Despite an improved display after drawing a blank at Sevilla and labouring past Athletic Bilbao, Barcelona missed the opportunity to put the pressure back on Madrid.
Instead, they will now have to hope Zinedine Zidane's squad slip up somewhere in the run-in, or else the title is heading to the Spanish capital.
Impressive Puig seizes opportunity
Who needs Miralem Pjanic when you have Riqui Puig? The 20-year-old impressed in his first league start of the season, completing 92.4 of his attempted passes before making way for Arthur, who is seemingly on his way to Juventus for next season.
Pique caught out
There was no VAR help to spare Pique and Barcelona with Celta's first equaliser. While centre-back partner Samuel Umtiti stepped up with the rest of the defence, the 33-year-old dropped back. His decision to do so allowed Yokuslu to break clear.
Barca have little time to recover ahead of another tough game on Tuesday, as they host Diego Simeone's in-form Atletico Madrid at Camp Nou. As for Celta, they travel to struggling Real Mallorca on the same day.