Lewandowski’s penalty early in the second half, after a foul on Grzegorz Krychowiak, broke the deadlock.
Zielinski took advantage of a defensive lapse to run clear and settle the tie in favour of the home side.
The draw for the finals takes place this Friday in Doha with the World Cup getting under way on 21 November.
It will be the first time the tournament has been moved from its usual summer slot, in order for games to be played in milder winter temperatures in the Gulf.
And Poland will be there after a hard-fought victory over a Sweden side that played a huge part in denying them a place in the knockout stages of Euro 2020.
It was achieved with a number of players carrying injuries too, according to Lewandowski.
“We had many problems before this match,” he said. “A lot of our players were injured, including me – I had a problem with my knee.
“We suffered, but now we can celebrate. I am proud and happy.”
Defender Kamil Glik, who played with a muscle injury, said: “It was new for all of us – for me, for Robert [Lewandowski], who had played many matches but he hadn’t played one like this, none of us had.
“I wasn’t interested in what would happen tomorrow, the day after tomorrow, next week, next year. All that mattered was the here and now.”
It was almost inevitable that Bayern Munich striker and Poland talisman Lewandowski would have a major role in the game – and so it proved.
He was calmness personified in tucking away his spot-kick after Jesper Karlstrom’s clumsy challenge on substitute Krychowiak in the box.
It was a hammer blow to Sweden who had been the better side and spurned the best chance of the first half when Emil Forsberg shot too close to keeper Wojciech Szczesny who saved.
The visitors rallied after falling behind, with Forsberg again testing Szczesny, but saw the tie slip away from them when Marcus Danielson’s poor control at the back allowed Zielinski to nip in, run in on goal and double the lead.
Zlatan Ibrahimovic was introduced with 10 minutes to go, suggesting the forward was not fully fit, but it was too little, too late.
The 40-year-old AC Milan forward has now likely played his final World Cup finals match.
After suffering a late capitulation to miss out on automatic qualification via the group stage, 2018 World Cup quarter-finalists Sweden have now suffered the ultimate knockout blow.
But Poland will have the chance to improve on their group-stage elimination in Russia four years ago.
CLICK HERE TO COMMENT