The Norwegian was a late finisher in the staggered race and her time of 28 minutes 5.6 seconds denied Russia a clean sweep of the medals.
Olga Danilova took the silver in 28:08.1 and her team-mate Julija Tchepalova won the bronze in 28:09.09 on the highest competitive trails in the world.
Skari was trailing Danilova by more than 15 seconds with 5.8kms remaining, and at the 1300m mark she was still over 10 seconds adrift.
But the 29-year-old staged a remarkable comeback.
The Russian team were already celebrating when Skari came late to spoil their celebrations, pushing Larissa Lazutina into fourth place and denying the team a seventh Olympic gold in the event.
Stefania Belmondo of Italy, the 15K gold medalist, was fifth.
The medal was Norway's first individual gold in the event and was just reward for an athlete who has dominated the World Cup circuit.
"I didn't think I would get the gold. I was going for silver all the time, so I'm surprised," Skari revealed after the race.
Skari, a classical specialist, won both classical races in last year's World Championships in Finland, and has maintained that form throughout this season.
Five classic-style races were held before the Olympics and Skari swept the board.