Both teams had made significant changes in the transfer window, and it was the new players who created the first exciting moment of the match. Visiting centre-back David Hancko came close to scoring with a powerful header, but Espanyol goalkeeper Marko Dmitrovic was able to save it.
Atletico's goalkeeper Jan Oblak had a good start to the season, keeping out several attempts by Espanyol's players. He made a great save to prevent a Leandro Cabrera header from reaching the top corner.
Espanyol's player Julian Alvarez was eager to score and tried his luck from distance on a couple of occasions, but Oblak was able to save the shots. However, with 37 minutes on the clock, Alvarez broke the deadlock with an exquisite free-kick that curled over the wall and into the top left corner.
Javi Puado, who scored 12 goals last season, was also a threat, but Oblak was able to save his headers. Alvarez almost doubled the visitors' lead just before the hour mark, but his shot hit the post and bounced clear.
The previous four league goals scored by Espanyol all came after the 60-minute mark, and they began the late show again with 73 minutes on the clock. A free-kick by Tyrhys Dolan caused chaos in the Atletico box, and Edu Expósito found Miguel Rubio, who scored the equaliser.
In the closing stages, Pere Milla thought he had wasted the chance to complete the turnaround, but two minutes later, he met Omar El Hilali's cross and directed his header beyond Oblak's reach to seal the win for Espanyol.
This was a significant win for Espanyol, who ended an eight-match winless streak against Atletico Madrid. It was also a first defeat on the opening day for Atletico's manager Diego Simeone.
Flashscore Man of the Match: Edu Exposito (Espanyol)