Sweden won Group E and sent Poland home from Euro 2020 with a stoppage time winner to make it 3-2 in one of the tournament’s most exciting games.
Sweden will next face one of the third-placed sides from Groups B or C – Finland or Ukraine– in Glasgow on June 29.
Spain, who finished second following its 5-0 win over Slovakia in the other Group E match, faces Croatia in Copenhagen a day earlier.
It was a heartbreaking end to Poland's campaign after it twice drew level through talismanic skipper Robert Lewandowski, whose 84th minute equalizer for 2-2 gave it a glimmer of hope.
Sweden's previous two matches were built on robust defensive displays that had cast doubts on whether Janne Andersson's side could get its attack firing, but the team made a blistering start through the lively Forsberg.
After Robin Quaison controlled the ball on the edge of the penalty area, Forsberg collected a pass and took advantage of some poor defending to fire past goalkeeper Wojciech Szczesny with 82 seconds on the clock.
He doubled their lead with a powerful drive for his third goal of the tournament after substitute Dejan Kulusevski weaved his way into the box to lay it on a platter in the 59th minute.
Lewandowski pulled a goal back two minutes later with a curling shot before Jakub Swierczok's tap-in from substitute Przemyslaw Frankowski's pass was ruled out for offside after the video assistant referee's intervention.
Lewandowski, who missed chances to make it 1-1 in the first half after rising above Sweden's defense only to thunder two headers onto the crossbar, fired in the equalizer from close range after a pass from Frankowski.
But Sweden was not done yet, as Kulusevski slipped the ball to Claesson who slotted past Szczesny to secure the win.