Kylian Mbappé struck in added time after Thibaut Courtois' save from Lionel Messi's penalty kept the visitors level.
Article top media content
Kylian Mbappé produced a moment of brilliance deep into added time to give Paris a slender lead to take to Real Madrid in this round of 16 tie.
18': Mbappé denied when one on one with Courtois
62': Messi penalty saved by Courtois
90+4': Mbappé slides in dramatic winner
Match in brief: Mbappé decisive after Courtois keeps Paris at bay
Paris enjoyed near domination in the first half but the two presentable openings they prised were spurned. Mbappé's early low cross was blazed over by Ángel Di María from the first of them before the France striker was thwarted by Thibaut Courtois after sneaking in behind Dani Carvajal. Casemiro headed wide from Madrid's lone moment of promise.
The second half started in similar fashion with Mbappé's low drive brilliantly parried by Courtois after an intricate move from the hosts but the pressure finally told when Carvajal clipped the striker in the area as he latched on to a through ball. However, Lionel Messi's low penalty was pushed away by the inspired Courtois to maintain parity.
That appeared to be as close as Mauricio Pochettino's men would come as Madrid remained resolute, even after the introduction of Neymar in the 72nd minute, until Mbappé took matters into his own hands, skipping between two challenges and firing under Courtois to leave Carlo Ancelotti's side with a second-leg deficit to overturn.
PlayStation® Player of the Match: Kylian Mbappé (Paris)
"It only takes a bit of magic to win the game and Mbappé provided it when Paris needed it most."
UEFA Technical Observer panel
Vanessa Tomaszewski, Paris reporter
The relieved Pochettino raised two arms to the sky after watching Neymar and Mbappé find a final, decisive inspired combination, the scorer sitting on the turf to celebrate with his overjoyed fans as the ball settled in the back of Courtois' net. Paris could have wilted after the saved penalty but they continued putting pressure on Madrid with the arrival of Neymar bringing freshness to their game, and eventually helping provide a more clinical edge.
Joseph Walker, Real Madrid reporter
For all but 30 seconds of 94 long minutes that was a near-perfect away display from Madrid, keeping Paris and their attacking talents at bay. Granted, they rode their luck, but they were undone by a moment of magic at the last from Mbappé, and that will now change the outlook for the second leg, which will be even tougher given Casemiro and Mendy will be suspended too.
Kylian Mbappé, Paris forward: "Like the entire team, I was in the right rhythm. I tried to help the team as best as I could, to try to be effective in both attack and defence. I have been rewarded with this goal and I am very happy."
Mauricio Pochettino, Paris coach: "I am very happy. The team's performance was very good. We were generally better than Real; we deserved the victory. There is still one game left [in the tie] but it is important to have taken this first step. We cut off their passing circuits by pressing on their midfielders. We worked hard to stop them and recover the ball as high as possible while controlling the game well for 90 minutes."
Carlo Ancelotti, Madrid coach: "We couldn't get out with the ball and we misplaced a lot of passes because of their high press. They did that well and put us under difficulty in that sense. We need to press more in the second leg. We are behind on the scoreboard and need to be better on the ball."
Thibaut Courtois, Madrid goalkeeper: "We started well enough but we perhaps weren't calm enough on the ball and suffered because of that, not countering well enough. It's tough to take but we didn't play well. Our gameplan doesn't change all that much being one down – we need to win to go through."
Samir Nasri, Canal+
"We've seen a good, victorious Paris. They've ticked all the boxes they were criticised for not ticking in the last six months. They applied strong pressure, recovered the ball quickly and kept it perfectly. Now they have to continue this."
• Mbappé has scored 13 goals in his last 13 Champions League matches.
• Paris have scored in their last 19 matches in the Champions League round of 16.
• Madrid had scored in their last 23 matches in the Champions League round of 16 before tonight. The last time they failed to find the net was also in France, against Lyon (0-1 in February 2010).
• Gareth Bale played in his 100th UEFA club competition match this evening.
Kylian Mbappé – 11 points
Thibaut Courtois – 10 points
Marquinhos – 8 points
Paris: Donnarumma; Hakimi, Marquinhos, Kimpembe, Nuno Mendes; Danilo (Gueye 87), Paredes, Verratti; Di María (Neymar 72), Messi, Mbappé
Real Madrid: Courtois; Carvajal (Lucas Vázquez 72), Éder Militão, Alaba, Mendy; Kroos, Casemiro, Modrić (Valverde 82); Asensio (Rodrygo 72), Benzema (Bale 87), Vinícius Júnior (Hazard 82)