Champions Real Madrid suffered an embarrassing defeat at La Liga first-timers Girona and are now eight points behind league leaders Barcelona.
Midfielder Portu back-heeled in the winner in the second half, four minutes after ex-Middlesbrough striker Cristhian Stuani’s equaliser.
On-loan Manchester City full-back Pablo Maffeo and Portu both struck the woodwork for the home side.
Isco had given Real a first-half lead by tapping in from close range.
The result leaves Zinedine Zidane’s side in third place after 10 games behind unbeaten Barca and Valencia, while Girona collected just their third victory of the season.
Ex-Boro boys humble Real
This is Catalan side Girona’s debut season in the top flight of Spanish football, having been founded in 1930, and Sunday saw a squad made up mainly of loan players and free signings claimed the biggest victory in their history.
On the back drop of Catalonia being stripped of its autonomy for declaring independence, a number of supporters held up flags inside the 13,500-capacity Montilivi Stadium in support of their region.
The hosts took the game to their much-vaunted opponents – the current Spanish and European champions – and were fully rewarded for doing so.
Maffeo’s cross-shot looped over goalkeeper Kiko Casilla and came off the post, as did Portu’s flicked header across goal.
Real’s world player of the year Cristiano Ronaldo was closely marked by former Middlesbrough centre-back Bernardo, but it was the Portuguese’s shot which goalkeeper Yassine Bounou parried for Isco’s opener.
Girona continued to go on the offensive in the second period and turned the game around in the space of four minutes.
Another former Boro player, Stuani, coolly tucked in the leveller, before Portu’s instinctive strike sealed a famous victory.
Real run comes to an end – the stats
- Before the loss against Girona, Real Madrid had not lost their previous 58 La Liga matches against promoted sides since being beaten by Almeria in 2008.
- Real Madrid’s 13-match top-flight away winning streak, the longest ever by any team in Europe’s top five domestic leagues, comes to an end.
- Real lost a game in which they led for the third time in Zinedine Zidane’s tenure after defeats against Sevilla and Barcelona.