Real Madrid had Vinicius Junior to thank as they came from behind to beat Espanyol 4-1 on Saturday.
Thibaut Courtois' unfortunate own goal early in the second half put the pressure on, but Madrid responded by bringing Vinicius off the bench and were celebrating Dani Carvajal's equaliser just moments later.
Rodrygo tapped home a second with 15 minutes to go, before Vinicius grabbed his deserved goal to put the game to bed, and there was still time for a late Kylian Mbappe penalty to send the fans home happy.
Madrid saw plenty of half-chances inside the first ten minutes, coming closest when Mbappe's stabbed strike was well deflected by Joan Garcia.
Garcia once again got down to deny Mbappe after some smart passing led to a fierce strike from the edge of the box, with Madrid looking to take advantage of their 82% possession inside the opening 25 minutes.
Jude Bellingham struck from range but again sent his effort right at Garcia who, while clearly the busier of the two goalkeepers, didn't need to do anything spectacular as Madrid were forced to settle for ambitious, unconvincing efforts in the first half.
Madrid headed into the break with 77% off the ball to their name and 14 shots on goal, but they could have very few complaints about the score.
Out of nowhere, Espanyol nearly took the lead shortly after the restart. Left-back Carlos Romero unleashed a fierce effort from range which fizzed past the post and had an uncertain Courtois scrambling to get across.
The surprise lead did arrive soon after, however. Jofre Carreras's low cross took a deflection off Arda Guler and found its way into the back of the net via the legs of Courtois to steer Espanyol ahead 55 minutes in. In response, on came Vinicius.
Three minutes later, it was 1-1. The goal was fairly simple to the opener, with Bellingham's low drive squirming under him and almost stopping on the goal-line for the onrushing Carvajal to thump home.
Vinicius' introduction helped turn the game on its head and the winger created a go-ahead goal for Rodrygo with 15 minutes to go.
A stunning outside-of-the-boot pass beat the offside trap perfectly and landed right in the path of Rodrygo, who could hardly miss from six yards.
The creator turned goalscorer almost straight after as Vinicius collected Mbappe's pass and slotted home to remove any doubt about the result.
In the final few minutes, Endrick was awarded a penalty after winning a lengthy grapple with Romero, and Mbappe made no mistake from 12 yards.
GK: Thibaut Courtois - 5/10 - Had very little to do aside from pick the ball out the back of the net. Not a lot he could have done.
RB: Dani Carvajal - 6/10 - Sloppy in possession and caught out of position for Espanyol's opener. Just about made up for it with the easiest goal imaginable.
CB: Eder Militao - 7/10 - Surprisingly threatening in the Espanyol box. Popped up with a smart pass more often than you'd expect.
CB: Aurelien Tchouameni - 6/10 - Comfortable and composed at the back. Given time to use his passing range.
LB: Fran Garcia - 6/10 - Lively down the left flank as he tried to get Madrid's attack firing.
DM: Federico Valverde - 7/10 - Hoovered up loose balls like a man possessed. Key to Madrid's constant pressure.
DM: Luka Modric - 7/10 - Pulled the strings with some lovely passes in behind Espanyol's defence. Probably deserved an assist.
RM: Arda Guler - 7/10 - Buzzed around with real energy as he tried to link up the midfield and attack. Involved in a lot of good moments. Unfortunate with the deflection for the own goal.
AM: Jude Bellingham - 8/10 - An all-round showing which saw Bellingham fly into crunching challenges and try and drive his way through Espanyol's defence. Unsurprisingly inspired the equaliser.
LM: Rodrygo - 7/10 - Solid for the majority of the game but his impressive work rate led to a deserved goal.
ST: Kylian Mbappe - 7/10 - Definitely not his best performance but showed his selfless side to play through Vinicius for the third goal. Slotted home a late penalty.
Substitutes
SUB: Vinicius Junior (55' for Guler) - 8/10
SUB: Lucas Vazquez (61' for Carvajal) - 6/10
SUB: Antonio Rudiger (83' for Rodrygo) - N/A
SUB: Endrick (83' for Bellingham) - N/A