Freddie Lindgren claimed his first-ever Grand Prix win to the delight of the home fans in Gothenberg on Saturday.
Riding in the 52nd GP of his career, the Swede was lucky to progress into the semi-finals with only seven points.
But after reaching the final he made the most of his opportunity when getting up the inside of world champion Greg Hancock at the start of the second lap and staying out in front to win.
Hancock then battled with Chris Holder for second, with the American just holding his Australian rival on the line, with wildcard Thomas H Jonasson trailing in last.
Despite finishing second, Hancock can console himself with the lead in the overall standings after four rounds, with his 15 points haul from the night taking him up to 58 points, two clear of Nicki Pedersen in second.
Semi-finalist Jason Crump is a point behind Pedersen in third, while Holder top scored with 17 points to move into fourth in the overall standings, six points off Hancock.
But the Swedish GP was not without controversy, with Pedersen running into wildcard Jonasson on the final bend of the first semi-final while the pair were battling for second behind winner Hancock.
The Dane, who had looked unstoppable with a near perfect 14 points from his heat rides, was rightly disqualified, but Jonasson was then awarded his place in the final despite having crashed to the ground and not crossing the line.
Earlier, Chris 'Bomber' Harris endured mixed emotions, with the British ace failing to earn a point from his first four heats before notching a morale-boosting first heat win of this year's championship in his final race.