Lionel Messi won an extraordinary five-goal thriller against Valencia with a last-gasp penalty but the game descended into chaos after the winning goal with a bottle thrown by home fans striking celebrating Barcelona players and sending both Neymar and Luis Suarez to the ground.
Messi turned angrily to the Valencia supporters as players on both sides confronted each other and the referee called time no sooner had the restart been taken, and appeared to swear at the home fans.
The game had threatened to boil over at various times during the 90 minutes none more so when a challenge from Enzo Perez left Andres Iniesta in agony and in need of a stretcher. He did not come back on and could now miss two months with suspected exterior ligament damage.
Before the flying bottle came incredible late drama. It was the greatest player in La Liga history against La Liga's greatest ever penalty stopper and Messi, almost without a run-up rolled the ball under the Diego Alves to win the game for Barcelona 3-2 from the spot.
Neymar's celebrations riled the crowd, and after the Brazilian and Suarez were hit Messi looked to shout 'la concha de sus madres, hijos de puta' (literally 'the c*** of your mothers you sons of w****s') at the home supporters.
For long periods it had seemed that Cesare Prandelli would succeed where Pep Guardiola had failed in midweek but it was not to be for Valencia who have not beaten Barcelona in La Liga now for nine years.
Iniesta's injury came early in the first half from Perez's challenge. His standing right leg didn't bend as Perez flew in and the Barcelona captain went down clutching his right knee and calling immediately for treatment from the sidelines.
Luis Enrique was furious with the challenge and the delay in taking Iniesta off the pitch on a stretcher.
The last thing Barca need is another injury having only just got Messi back and already missing Gerard Pique and Jordi Alba for the next three weeks.
Iniesta was applauded off by Valencia fans and the club later confirmed suspected external ligament damage that will definitely rule him out of the Manchester City game in two weeks time and what's left of Barca's Champions League fixtures.
Mario Suarez went in studs-up on former Valencia midfielder Andre Gomes moments later as Valencia kept up the intensity. They were soon behind however as Messi scored his 18th goal in 21 games against them.
Luis Suarez was offside and in the line of the keeper as Messi shot. The Uruguayan jumped over the ball but was clearly blocking view of Valencia keeper Alves.
The net bulged and the flag stayed down as Barca's players celebrated.
The home side continued to get no luck with the decisions as a clear penalty from Samuel Umititi on Rodrigo was ignored by referee Alberto Undiano. Busquets then pulled back Perez after already having being booked. It would have been harsh but could have been a second yellow.
Messi then slipped the ball through to Suarez and he looked poised to make it 2-0 but Alves saved brilliantly despite Suarez's shot taking a deflection. Suarez was then played in by Neymar but again Alves saved.
Ter Stegen blocked from Dani Parejo as Valencia started to find their range and when Munir El Haddadi came on for the second half he showed them how to finish. He first got a 'welcome to the game' slap around the face from Lucas Digne as both jumped for a high ball and was then body-checked by Neymar who was booked.
But when Parejo crossed from the right the former Barca striker had intelligently found space and his perfectly-hit shot beat Marc Andre ter Stegen.
Valencia took the lead when Nani dinked a pass into space and Rodrigo pulled away from Umtiti to make it 2-1. Was Prandelli about to grab a famous victory? Not if Suarez could help it.
Rakitic was involved in the equaliser. He had hit the post early in the second half after Neymar's shot was saved by Alves. He had also played in Messi for the opening goal shortly after coming on for the unfortunate Iniesta. Now he headed a corner goalwards forcing Alves to push the ball straight out to Suarez and he rifled it back past the keeper to put Barcelona level on 62 minutes.
That made it 29 goals in all competitions this season and it was 30 right at the death as Messi stroked in that match-winning penalty with the last meaningful kick of the game after Suarez had been brought down by Aymen Abdennour.