Paris Saint-Germain produced a dominant performance as they roared to a comfortable 2-0 victory over Borussia Dortmund in their Champions League opener on Tuesday night.
A Kylian Mbappe penalty early in the second half got the scoring underway before former Dortmund favourite Achraf Hakimi slotted home a second to put the game to bed.
Luis Enrique's side boasted close to 70% possession on an evening in which they were rarely under threat, cruising to a statement win to begin their European journey.
How the game unfolded
It was Dortmund who actually had the first opportunity of the game. Donyell Malen found some space in the box 15 minutes in but couldn't steer his strike away from Gianluigi Donnarumma's welcoming arms.
That was about as good as it got for Dortmund as PSG wrestled control of the contest. Randal Kolo Muani mis-hit what should have been an easy goal before Vitinha saw a strike cannon back off the post.
Boasting nearly 80% possession as the first half ticked on, PSG were getting frustrated as they failed to find a way through. A late penalty shout was dismissed as VAR deemed that Niklas Sule's handball was both inadvertent and unavoidable.
There would, however, be no denying PSG's claims early in the second half. Mbappe's strike again struck Sule's arm but there was nowhere to hide this time as a penalty was awarded. Mbappe made no mistake from 12 yards.
Dortmund tried to come forward and get back into the game but they would soon be punished once again. Hakimi came back to haunt his old team as he finished off a lovely one-two with Vitinha.
Substitute Jamie Bynoe-Gittens struck the outside of Donnarumma's post but that was as close as Dortmund came on a truly forgettable evening for the German side.
Goncalo Ramos, off the bench for the home side, thought he had a third late on but his celebrations were curtailed by the offside flag.
PSG player ratings (4-3-3)
GK: Gianluigi Donnarumma - 6/10 - Not particularly busy given Dortmund's struggles to get hold of the ball.
RB: Achraf Hakimi - 8/10 - A major threat all night long. Flashed his technical quality to finish off an excellent move for the second goal.
CB: Milan Skriniar - 7/10 - Looked a lot more comfortable alongside Marquinhos this time out.
CB: Marquinhos - 7/10 - The Brazilian's leadership and composure were both hugely noticeable in a resolute showing from the entire PSG defence.
LB: Lucas Hernandez - 7/10 - Another excellent outing from Lucas. Appears to be finding his feet after years of injury woes.
DM: Manuel Ugarte - 8/10 - Destructive in defence and intelligent in attack. Ugarte knew how to win the ball and was always looking to offload to a creative teammate.
CM: Vitinha - 8/10 - Hasn't always dazzled in Paris but performances like this will go a long way to endearing Vitinha to the fans. Pulled the strings with ease.
CM: Warren Zaire-Emery - 7/10 - Did the ugly work well in yet another impressive outing.
RW: Ousmane Dembele - 8/10 - Didn't stop terrorising Dortmund's defence. A major threat whenever he got the ball at his feet.
ST: Randal Kolo Muani - 6/10 - Not on the same wavelength as those around him. Should have had a goal or two at least.
LW: Kylian Mbappe - 8/10 - A persistent problem, Mbappe got the goal he deserved as he struck from the penalty spot.
SUB: Goncalo Ramos (80' for Kolo Muani) - 6/10
SUB: Lee Kang-in (80' for Vitinha) - 6/10
SUB: Danilo Pereira (88' for Lucas) - N/A
Subs not used: Arnau Tenas (GK), Keylor Navas (GK), Nordi Mukiele, Carlos Soler, Fabian, Bradley Barcola
Luis Enrique - 7/10 - PSG were a little sloppy at times but Enrique put his side together to ensure they would have more than enough opportunities to flex their quality.
Borussia Dortmund player ratings (3-5-2)
GK: Gregor Kobel - 5/10 - Did his best to try to keep the score respectable but was not helped out by those around him.
CB: Niklas Sule - 5/10 - Just couldn't keep his arms out of the way.
CB: Mats Hummels - 6/10 - Can't fault Hummels' effort and impact. The veteran led by example but simply couldn't do enough to drag everyone around him up.
CB: Nico Schlotterbeck - 5/10 - A little nervous at times as PSG kept coming at him. Needed his midfield to offer more protection.
RM: Marius Wolf - 5/10 - While Hakimi was dancing his way around Paris' right side, Wolf was left struggling.
CM: Emre Can - 5/10 - Can was largely solid as he did his best to try to drag Dortmund into this game. Fought a losing battle against PSG's tenacious trio of midfielders.
CM: Marcel Sabitzer - 4/10 - Offered very little in midfield before being forced off early through injury.
CM: Julian Brandt - 5/10 - Mixed the odd flicker of class with several moments of frustration.
LM: Julian Ryerson - 5/10 - Actually quite solid going forward but lapses in concentration at the back were always going to be punished up against Mbappe.
ST: Karim Adeyemi - 4/10 - Couldn't get in the game at all. Admittedly was feeding off scraps but didn't do enough to create more for himself anyway. Lost possession far too often.
ST: Donyell Malen - 5/10 - Decision-making definitely needs work. Malen proved an occasional threat but was too wasteful in the final third.
SUB: Felix Nmecha (14' for Sabitzer) - 5/10
SUB: Niclas Fullkrug (62' for Malen) - 4/10
SUB: Marco Reus (62' for Brandt) - 5/10
SUB: Jamie Bynoe-Gittens (76' for Can) - 6/10
SUB: Ramy Bensebaini (76' for Wolf) - 5/10
Subs not used: Marcel Lotka (GK), Alexander Meyer (GK), Salih Ozcan, Giovanni Reyna, Sebastien Haller, Youssoufa Moukoko
Edin Terzic - 3/10 - Set his team up wrong for a game like this but didn't seem to help himself with some questionable substitutions. Replacing Brandt and Can backfired horribly.