Pastrnak and McDavid each scored in the final minute of the second period to send the game to a shootout; there was no overtime. They each also assisted on the other's goal.
Boone Jenner also scored for Team McDavid. Connor Hellebuyck made 10 saves on 11 shots in the first period. Sergei Bobrovsky stopped eight of 10 shots in the second, and both shots he faced in the shootout.
Team McDavid advanced to the championship game to face Team Matthews, which defeated Team Hughes in the second semifinal.
Nathan MacKinnon scored two goals, Oliver Bjorkstrand scored, and Sidney Crosby and Cale Makar each had two assists for Team MacKinnon.
Alexandar Georgiev made nine saves on 10 shots in the first period. Jeremy Swayman stopped the first eight shots he faced in the second before allowing goals on two of the last three shots he faced.
Swayman denied Rasmus Dahlin on a breakaway 57 seconds into the second period, Jenner on a breakaway at 1:58, Sam Reinhart also on a breakaway at 4:42 and Boston Bruins teammate Pastrnak on a breakaway at 6:20 before Team McDavid started its comeback, scoring twice with the goalie pulled for an extra skater.
Pastrnak made it 3-2 at 9:28 with a high shot over Swayman's glove from the right face-off circle.
McDavid tied it 3-3 at 9:54, connecting from the goal line off a cross-slot pass from Pastrnak.
MacKinnon opened the scoring with a breakaway goal at 3:24 of the first to give his team a 1-0 lead.
Jenner tied it 1-1 at 7:58, scoring off a 2-on-1 give-and-go with Nick Suzuki.
Bjorkstrand gave Team MacKinnon a 2-1 lead with a breakaway at 5:51 of the second, scoring with a quick release shot under Bobrovsky's glove 44 seconds after the goalie denied the Seattle Kraken forward on a breakaway when he tried to go high glove.
MacKinnon scored his second with a high backhand over Bobrovsky's left shoulder to give his team a 3-1 lead at 6:45.