Hezbollah reportedly informs Israel that Ron Arad died in captivity in Lebanon.
The families of the two Israeli soldiers have never been told the fate of the young men, although both are widely believed to be dead.
The cabinet first approved the swap deal in June, but was asked to back it a second time after Israel received a report from Hezbollah on Ron Arad, a missing Israeli air force pilot.
Arad’s fate has also been unknown since his fighter jet was shot down over Lebanon in 1986 during the civil war, and although the report said he was probably dead, Israel has rejected its findings.
The Arad report was one of the conditions for the prisoner swap to go ahead, but Olmert on Monday called it “completely inadequate”.
David Chater, Al Jazeera’s correspondent on the Israel-Lebanon border, said on Tuesday the report contained unseen photographs of Arad and transcripts of diaries he kept following his capture, but the trail of information ended two years after he was caught.
Regardless, Avi Dichter, the public security minister, said before the cabinet meeting that the deal would be approved.
“Anyone familiar with the facts knew very well that the Hezbollah report would not provide a conclusive answer on the fate of Ron Arad,” he told army radio.
The exchange, which also includes the bodies of 199 Hezbollah and Palestinian fighters, is expected to be carried out by the Red Cross at the Israeli-Lebanese border on Wednesday.
David Baker, a spokesman for the Israeli government, said only three of the 25 cabinet minsters present at Tuesday’s meeting voted against the deal.