The former Barca man netted the opener, while Iago Aspas struck twice and John Guidetti rounded off the scoring against the Catalans, who only managed one goal through Neymar.
Barcelona were beaten for the first time in La Liga this season as Celta Vigo romped to a stunning 4-1 victory at Balaidos on Wednesday.
Nolito haunted his former club by scoring a sublime opener and setting up two goals for Iago Aspas in an astonishing contest which saw Barca’s defence repeatedly opened up by an impressive home side, with Gerard Pique enduring a match to forget.
Lionel Messi hit the post early in the second half and Sergio Alvarez made a string of good saves prior to a goal from Neymar, but Celta were worthy winners and they sealed the points through substitute John Guidetti’s late goal.
The huge victory puts them above their opponents and Atletico Madrid in the early-season table.
Celta have now taken 13 points from their first five matches of the season, while the defeat comes as a bitter blow for a Barca side that had started the campaign in impressive fashion with four wins from four.
Pique returned to league action after suspension as Luis Enrique made five changes to the team that beat Levante last time out for the game against his former club, with Andres Iniesta and Luis Suarez amongst the stars brought in. Jordi Alba was absent with a neck injury.
Celta started positively but it was Barca who created the best chance of the early stages. Iniesta drove towards goal and slipped a pass through to Messi, whose shot was parried to safety by Sergio.
The champions had another opportunity shortly afterwards when Messi combined with Neymar but the Brazilian could only shoot straight at Sergio from a decent opening.
Barca regretted those missed chances when Celta moved in front on 26 minutes. Hugo Mallo’s cross from the right made it all the way through to Nolito in the far corner of the penalty area and the 28-year-old guided a curling effort brilliantly into the far corner, with a diving Marc-Andre ter Stegen only able to get a faint hand to the ball.
Four minutes later it was two for the hosts. A casual Pique lost possession on the halfway line to Nolito, whose flick-on allowed Aspas to race clean through on goal and scoop a stunning left-footed finish over Ter Stegen and into the net.
Celta missed a golden opportunity to make it three shortly after half-time. Sergio Busquets gave away possession and Daniel Wass’ pass sent Aspas through again, but the former Liverpool forward could only fire wide.
At the other end, Iniesta teased his way into the box and squared for Messi, whose left-footed shot bounced off the post when a goal seemed certain.
Barca were beginning to pile on the pressure and Pique headed narrowly over before Messi lashed another shot towards goal that Sergio did well to repel.
But Luis Enrique’s men paid the price for committing so many men forward as Celta scored an astonishing third on 56 minutes. Sergio punched clear from a crowded area and Nolito completed the clearance by finding Aspas on halfway, where the forward raced away from Dani Alves and ran unopposed into the penalty area and comfortably slotted past Ter Stegen.
It should have been four when Nolito raced clear after another counter-attack left the Barca defence completely exposed, but the Spain international’s finish rolled the wrong side of the far post.
Sergio made two further saves from substitute Munir and Neymar as the visitors desperately looked for a way back into the game.
Barca did score with 10 minutes remaining when Messi’s chipped long-range pass was impressively controlled and finished in the box by Neymar.
But Celta sealed a famous triumph with a fourth goal on 83 minutes. Pique failed to intercept Mallo’s cut-back and substitute Guidetti smashed home from close-range to complete a miserable day for the champions.