Lionel Messi scored once again but went off injured before Blaise Matuidi netted with the last kick of the game to give Paris Saint-Germain a 2-2 draw with Barcelona in the Champions League quarter-finals.
Matuidi's deflected effort was somehow leaked through by Victor Valdes after over four minutes of time added on in an eventful last-eight first-leg tie.
Xavi had restored Barcelona's lead from the penalty spot in the 89th minute shortly after Zlatan Ibrahimovic cancelled out Messi's first-half opener.
Messi, however, did not come back out for the second half after tweaking his hamstring moments before the interval.
Messi's fellow Argentine Javier Mascherano also sustained an injury, of a more serious nature. He left the pitch on a stretcher later in the game with a ligament tear in his right knee.
Despite the disappointing finish to their away leg and an inconsistent performance by their usual high standards, Barcelona very much sit in the driver's seat in the race to the last four with two away goals and the excellent Matuidi suspended for the trip to Camp Nou.
It did not take Barcelona very long to establish a stronghold on the ball, but the home side came with a disciplined gameplan to combat the tiki-taka suffocation – and it almost reaped big rewards.
After weathering early Barca control and easing into their formation - complete with former England captain David Beckham in a central midfield role in place of Thiago Motta - PSG had the first real chance of the contest when Ezequiel Lavezzi galloped into the danger zone and sent his shot across Victor Valdes and onto the far upright.
Javier Pastore was next to come close to breaking the deadlock as the Ligue 1 leaders continued to pick off their guests on the break, and only a good stop from Valdes kept his low drive out on the quarter-hour mark.
The keeper had to be alert again four minutes later when Ibrahimovic pulled rank on Beckham to take a 20-yard free-kick. He too went low and across Valdes, who once again met the strike well.
But having found himself well marked for the opening half hour, Messi began to grow into the game and found his 59th Champions League goal in 77 appearances on 39 minutes, courtesy of his side’s best player at that point, Dani Alves.
Alves’s exquisite lofted assist picked out Messi’s run perfectly after PSG had only half-cleared a corner, and the Argentine’s low volleyed finish across Salvatore Sirigu was befitting of the set-up.
After holding off the PSG back line to send another effort just past the top corner, however, Messi required a trip to the sidelines for an injury to his leg.
Though he returned for the dying embers of the half, Messi would be taken off by the Barca management team – which included Tito Vilanova in his return from a 10-week medical absence – with Cesc Fabregas on in his place.
Although the former Arsenal man helped keep the away side on top early in the second 45, PSG soon began to push them back once more after Alexis Sanchez blew a golden chance for 2-0 on 63, taking one touch too many six yards from goal.
And as Barcelona defended their lead into the closing stages, frustration at dealing with heavy pressure and a number of contentious decisions got the better of them.
Ibrahimovic may have been offside when he converted the loose ball after Valdes saved a Thiago Silva header, but 1-1 had been coming for some time.
Nonetheless, it appeared to be mission impossible for Carlo Ancelotti’s men when Sanchez was brought down in the box by Sirigu in the 88th minute and Wolfgang Stark pointed to the spot.
Xavi converted from 12 yards in Messi’s absence but there would be one late twist just as Herr Stark was ready to blow for full-time.
Ibrahimovic showed good vision to head an awkward cross into the path of Matuidi, and though his low strike came off substitute Marc Barta’s leg it really should have been kept out by Valdes.
Instead, the ball flapped past the limp hand of the goalkeeper and the French big-spenders will head to Catalonia hoping to pull off a massive result and reach the semi-finals.
MAN OF THE MATCH
Thiago Silva (Paris Saint-Germain): Once again, PSG's defenders shone on the European stage and none more so than the Brazilian who helped prevent a typical Barcelona scoreline despite the real test yet to come at Camp Nou.
PSG: Sirigu 7; Jallet 5, Alex 7, Silva 8, Maxwell 5, Moura 7, Beckham 6, Matuidi 8, Pastore 7; Lavezzi 7, Ibrahimovic 7. Subs: Menez 6, Gameiro 5, Verratti 5.
BARCELONA: Valdés 7, Alves 8, Mascherano 7, Piqué 6, Alba 6; Busquets 7, Iniesta 7, Xavi 8; Villa 6, Messi 7, Sanchez 5. Subs: Bartra n/a, Fabregas 7, Tello 6.