PSG beat Liverpool 1-0 at Anfield on Tuesday night to level the aggregate score at 1-1. Ousmane Dembélé scored 12 minutes into the second-leg match after a blunder by the Liverpool defence.
After extra time, Donnarumma stopped penalty shots by Darwin Nunez and Curtis Jones to secure his team a 4-1 shootout win. Desire Doue scored the winning spot kick for PSG, who will face either Aston Villa or Club Brugge.
French league leaders PSG, had lost at this stage in five of the past eight editions. They lost to Borussia Dortmund in last season's semi-finals.
"It was the best game of football I have ever been involved in," Liverpool manager Arne Slot said.
"It was an incredible performance, especially if you compare it with last week. We were creating chances and then we were 1-0 down. We ran out of luck after last week."
Barcelona cruised past Benfica with Raphinha scoring twice and Lamine Yamal once in a 3-1 win at home.
The Catalan club advanced 4-1 on aggregate score after last week's 1-0 victory and will play either Borussia Dortmund or Lille in the quarter-finals.
After a 3-0 first-leg win, Bayern Munich had no trouble advancing past German rival sBayer Leverkusen.
Bayern made it to the last eight a record 23 times in the Champions League era after a 2-0 win at Leverkusen to advance 5-0 on aggregate.
Inter moved on past Feyenoord with a 2-1 victory at San Siro to advance 4-1 on aggregate.
Bayern and Inter will meet in the last eight.
Raphinha's double made him the leading scorer in the Champions League this season with 11 goals. He had scored the lone goal last week in Lisbon.
The Brazil forward put Barcelona ahead in the 11th, then Yamal added to the lead in the 27th before assisting in Raphinha's second goal in the 42nd to become the youngest player to score and assist in a Champions League match at 17 years, 241 days.
"My teammates make things much easier for me," Yamal said. "It was a good goal but sometimes these things come off and sometimes they don't. For the assist, I tried to shoot and Raphinha turned it into a goal."
Nicolás Otamendi scored for Benfica in the 13th.
Harry Kane scored his 10th Champions League goal of the season and set up another as Bayern Munich cruised into the quarter-finals.
Leverkusen never looked likely to overturn the three-goal deficit from the first leg, even before Kane bundled in the ball at a free kick in the 52nd after Leverkusen's Patrik Schick misjudged an attempted clearance.
Kane set up Alphonso Davies for Bayern's second goal with a flicked cross in the 71st as the all-German rivalry became a one-sided contest.
A goal at the start of each half saw Inter easily advance, with Marcus Thuram scoring a stunning eighth-minute opener.
The Inter forward received the ball midway inside the Feyenoord half and then weaved his way into the area before unleashing a powerful effort into the top right corner.
Jakub Moder leveled from the penalty spot shortly before halftime after being tripped by Hakan Çalhanoglu.
Inter restored their advantage on the night six minutes into the second half with a penalty of their own, which Çalhanoglu converted after Mehdi Taremi was fouled by Thomas Beelen right in the corner of the area.