PARIS — After Neymar missed several chances to finish off defending champion Bayern Munich, Paris Saint-Germain was left clinging to a 1-0 home defeat that nevertheless sealed the French club’s second straight Champions League semifinal on Tuesday.

Bayern had to score twice after losing 3-2 in Germany in the first leg of their quarterfinal and survived several scares from livewire Neymar in the first half before largely taking control in the second.

But without the prolific Robert Lewandowski, the six-time champions lacked a cutting edge and could not add to Eric Maxim Choupo-Moting's first-half goal against his former club.

“Normally, my team has so much quality in the final third, but today they were lacking that final punch,” Bayern coach Hansi Flick said. “We have to accept that, even though we would have liked a different outcome.”

After losing 1-0 to Bayern in last year's final, PSG stands one step away from the second final of its 51-year history and remains on course to win it for the first time.

“We fought like a great team, we beat the European champions,” Neymar told broadcaster RMC through a translator. “We’re a very competitive team that sticks together.”

Neymar had three shots saved by goalkeeper Manuel Neuer and hit the woodwork twice in an eventful first half that tilted Bayern's way when Choupo-Moting headed home in the 40 minute.

Bayern's wingers were a constant menace and PSG's defenders were relieved to see standout goalkeeper Keylor Navas stretch his right hand to keep out Leroy Sane's dangerous cross deep into injury time at Parc des Princes.

That was Bayern's last chance on a night when the usually so prolific German side paid the price for its wastefulness without Lewandowski.

PSG now faces either Manchester City or Borussia Dortmund in the semifinals.

“Congratulations to my players, all the credit goes to them,” said PSG coach Mauricio Pochettino, who led his former club Tottenham to the final in 2019. “You should never give up.”

Chelsea also reached the last four on Tuesday, losing 1-0 to Porto but advancing 2-1 on aggregate. The London club is managed by Thomas Tuchel, who was fired by PSG in December.

Injury-hit Bayern was also missing midfielder Leon Goretzka, as well as winger Serge Gnabry because of coronavirus. In fact, Flick couldn’t even fill his substitute’s bench.

Still, PSG was not at full strength, either. Defender Marquinhos had an adductor problem, while midfield schemer Marco Verratti stayed on the bench after recovering from COVID-19.

Early into the game, Kylian Mbappe shot wide from the right and Neuer saved Neymar’s close-range shot following a scramble.

Bayern’s main threat came from Kingsley Coman’s probing runs down the left flank and the silky Sane cutting inside from the right flank.

After an even 30 minutes, a frantic 15-minute spell saw a flurry of chances.

Sane curled a shot wide and midfielder Joshua Kimmich thumped an effort past the post moments later.

Mbappe was a menace for PSG on breaks, as he was in the first leg when he scored twice. He set up Neymar in front of goal, but Neuer spread himself brilliantly to save with his legs, then Germany’s No. 1 denied the Brazilian again at the near post.

Neuer was well beaten in the 37th but Neymar’s curler smacked off the bar, then his low shot crashed off the base of the post two minutes later.

The sucker punch came when Coman charged down the left and the ball broke to David Alaba, whose shot was saved by Navas. The ball looped up near the line and Choupo-Moting rose above Presnel Kimpembe to nod in from close range.

After Bayern started the second half with authority, PSG had another chance when Angel Di Maria’s pass across the mouth of goal somehow eluded Neymar in the 54th.

At the other end, Thomas Mueller ghosted around the back of defence but Kimpembe read it. Bayern had to get a second goal, and it almost came in the 70th when Coman’s header across goal was cleared by Leandro Paredes.

With Bayern pushing more players forward, Neymar played Mbappe clean through and he finished superbly — but Jerome Boateng had cleverly read the pass and stepped forward just in time to play Mbappe offside.

By now, gaps were appearing everywhere and the elusive Sane’s cross fizzed past everyone and rolled wide in the 83rd.

With seconds left, PSG's bench watched in agony as Sane got into space again.

But this was a night where Bayern's danger didn't translate into goals.

The damage was ultimately done two weeks ago when Bayern lost despite having 12 shots on target, and PSG showed Flick's side how to be clinical.

“I have to pay huge compliments to my team, even though Paris progressed," Flick said. "As a fair loser, I would like to congratulate them.”

___

More AP soccer: https://apnews.com/hub/soccer and https://twitter.com/AP_Sports