Promoted Granada stunned champions Barcelona to move top of La Liga.
Ramon Azeez headed in at the back post with less than two minutes played.
Barcelona manager Ernesto Valverde introduced Lionel Messi and Ansu Fati at half-time, but Alvaro Vadillo added the hosts’ second from the penalty spot after Arturo Vidal handled in the area.
The result condemns Barcelona to their worst league start for 25 years and leaves them in seventh, three points behind surprise leaders Granada.
Earlier, Atletico Madrid missed the chance to go top as they were held to a goalless draw against Celta Vigo.
Valverde made four changes to the side that unconvincingly drew 0-0 with Borussia Dortmund in the Champions League on Tuesday, as a returning Messi started on the bench once more.
Summer signing Junior Firpo was handed a first start after Jordi Alba picked up an injury in midweek, but it was his defensive slip that led to Granada taking the lead after just one minute and five seconds.
The early advantage proved no fluke, as the hosts pressed on and could have added to their advantage before the interval – Manchester City loanee Yangel Herrera shooting narrowly over from outside the box.
Barcelona’s best opportunity fell to Luis Suarez in first-half stoppage time, but the Uruguay forward’s goal-bound attempt was – typically of the hosts’ defensive performance – blocked on the line.
Messi and 16-year-old superstar Fati saw plenty of the ball in the second half, but despite their best efforts, neither could achieve a breakthrough before fellow substitute Vidal’s costly error allowed Vadillo to sweep home from the penalty spot.
The visitors never looked like getting back into the contest after that, as a resilient, dogged Granada recorded a famous victory.
Champions Barcelona’s stuttering start continued on Saturday, with their return of seven points so far their worst since 1994-95 under Johan Cruyff.
They have been league winners in Spain in four of the last five seasons, but have now lost two of their opening five games despite losing just three in the whole of last season.
It has been on the road, in particular, where Valverde’s side have struggled, with this the first time since that 94-95 season they have failed to win any of their first three away games. Their winless away run in the league now stretches back to April.
An uncharacteristic bluntness in attack was apparent in defeat to Granada, with the visitors failing to register a shot on target in the first half and landing just one of their eight shots – from Messi in 82nd minute – on target in all.
They have now failed to score in six of their last seven La Liga away matches, while 120m euro (£107m) summer signing Antoine Griezmann is yet to have a shot on target after four away matches for Barcelona.
Of course, they are not the only La Liga heavyweights struggling, with bitter rivals Real Madrid facing a crucial match against Sevilla on Sunday and the pressure heavy on Zinedine Zidane’s shoulders to produce a result following a crushing 3-0 defeat to Paris St-Germain in the Champions League on Wednesday.
Zidane’s win ratio is currently below 50% since returning to Real at the end of last season, leaving his position in potential danger.
With Spain’s big two sides struggling, could there be a surprise winner in La Liga this season? Granada fans will be beginning to dream.
This is Barcelona worst season start in the last 25 years.