Crosby finished a feed from Ovechkin on a 2-on-0 to give the Metropolitan a 3-2 lead at 6:19, but Brady Tkachuk knocked in his own rebound in front to tie it at 3-3 at 6:59.
Nick Suzuki put the Atlantic ahead 4-3 from the left face-off circle with 2:05 left in the period.
Gaudreau scored his third of the game 25 seconds into the second period to tie it 4-4.
Ovechkin set up Crosby on another 2-on-0 to give the Metropolitan a 5-4 lead at 1:58, and Ovehckin made it 6-4 from the left circle at 2:21.
Matthew Tkachuk lifted home a backhand in front to pull the Atlantic within 6-5 at 3:49 before Nikita Kucherov tied it 6-6 at 4:31 with a shot from outside the right post.
David Pastrnak set up Suzuki at the left post for a goal that gave the Atlantic a 7-6 lead at 5:51.
Matthew Tkachuk scored on a breakaway to complete his hat trick and make it 8-6 with 3:11 left. Larkin's empty-net goal with 1:00 left made it 9-6.
Pastrnak scored on a breakaway with 13 seconds left to make it 10-6.
Ullmark made three saves on six shots before being replaced by Andrei Vasilevskiy (10 saves) to start the second.
Shesterkin stopped five of nine shots through one period before Ilya Sorokin (eight saves) replaced him.