Kingsley Coman scored the only goal of the game as Bayern Munich beat Paris Saint-Germain 1-0 in the first leg of their Champions League last-16 tie on Tuesday, with substitute Kylian Mbappe denied a late equaliser by a marginal offside call.

The unmarked Coman swept in an Alphonso Davies cross eight minutes into the second half at the Parc des Princes, just as Mbappe was preparing to enter the fray on his return from injury after PSG had appeared devoid of ideas without their top scorer.

Mbappe, and the entire stadium, thought he had equalised with eight minutes remaining when he turned in a Nuno Mendes cutback, but the goal was ruled out because the Portuguese full-back was just ahead of the last defender at the start of the move.

Bayern finished the game with 10 men after Benjamin Pavard was sent off, but it was a frustrating ending for PSG.

The French giants looked much better in the latter stages with Mbappe on the field but also needed fine saves by Gianluigi Donnarumma to prevent a bigger deficit.

PSG must hope they can turn the tie around in the second leg in Munich on March 8.

Coman, who started his career in Paris, did not celebrate his goal but it was a case of history repeating itself – he had been the matchwinner when Bayern beat the Qatar-owned club in the 2020 final in Lisbon to become European champions for the sixth time.

Mbappe’s fitness had dominated the build-up to the game, with the France superstar initially ruled out because of a thigh injury before making a faster-than-expected return to training and being named in the squad.

He was named among the substitutes, while Warren Zaire-Emery, at 16 years and 343 days old, became the youngest player ever to start a Champions League knockout game.

But Bayern had little to be afraid of in the first half as Mbappe –- scorer of seven goals in six games in the group stage –- watched on, with Lionel Messi and Neymar badly missing his presence.

Instead Bayern, playing with a three-man central defence, controlled the game and restricted PSG to just one attempt in the first half.

Yet the Bundesliga leaders, still without Sadio Mane as he recovers from injury, did little to trouble Donnarumma apart from a Joshua Kimmich shot that was easily saved.

The biggest cheer of the night had been reserved for Mbappe when he came out to warm up during the break. The 24-year-old was preparing to come on when Bayern opened the scoring as Davies crossed from the left to the far post where the unmarked Coman finished.

Mbappe promptly replaced Carlos Soler but the French champions needed Donnarumma to keep them in the game, and perhaps the tie, as he produced a fingertip save to touch an Eric Maxim Choupo-Moting effort onto the woodwork.

From the corner that followed, Donnarumma saved from Pavard’s header.

PSG needed to get the ball to Mbappe and they eventually did in the 73rd minute, a Fabian Ruiz ball over the top sending the forward bounding towards goal.

Bayern goalkeeper Yann Sommer rushed out to block Mbappe’s shot with his face before Neymar was denied from the follow-up.

Then Mbappe did put the ball in the net, only for the celebrations to be cut short, and Bayern held on even after Pavard was shown a second yellow for scything down Messi.

AC Milan beat Spurs

Brahim Diaz shot AC Milan to a 1-0 win over Tottenham Hotspur on Tuesday which gave the seven-time European kings control of their Champions League last-16 tie.

Diaz bundled in the only goal of the game in the seventh minute at a packed San Siro to give Milan the advantage before next month’s second leg in London.

The Spaniard’s strike was the first and one of very few real chances of a scrappy game which highlighted the far from sparkling form of both teams heading into match.

Milan came into their first knockout in the competition since 2014 with their season in the balance after a horrible run of results in the past month which left their Serie A title defence in tatters.

But the Italians have a decent chance of reaching the quarter-finals for the first time since 2012 after restricting injury-hit Spurs to very little on Antonio Conte’s return to Milan.

Conte, in the Spurs dugout two weeks after undergoing gallbladder surgery, handed the midfield reins to youngsters Oliver Skipp and Pape Matar Sarr after losing Rodrigo Bentancur and Yves Bissouma to injury last week.

And his team failed to supply their record scorer Harry Kane with any service, Milan having great chances in quick succession late in the second half to extend their aggregate lead which were fluffed by Charles De Ketelaere and Malick Thiaw.

Milan coach Stefano Pioli said on Monday that Italian teams can’t compete with the financial might of the Premier League clubs.

But Diaz had an already loud San Siro roaring with joy when he pounced on Theo Hernandez’s saved shot, first forcing a superb stop from Fraser Forster before bundling home the opener.

The closest Spurs came in a stodgy first half was when Kane clipped the bar on the rebound from Son Heung-min’s saved shot, but it was futile as the Korean was offside in the build-up.

There was very little goalmouth action from that point on until De Ketelaere came on in the 77th minute, the Belgian attacker nearly doubling the hosts’ lead almost straight after coming on.

De Ketelaere met Oliver Giroud’s perfect knockdown with a header which he couldn’t direct on target from close range.

And seconds later Thiaw had his head in his hands after missing an even better chance to secure the win, somehow heading Rafael Leao’s inch-perfect cross wide with the goal at his mercy.

However Spurs couldn’t break through a backline well marshalled by Simon Kjaer which helped inflict a second career defeat to Milan for coach Conte.