Cabinet ministers approved the releases by 18 votes to three. A spokesperson said the 400 were due to be released on Wednesday or Thursday.
Israeli Prime Minister Ariel Sharon stressed that none of those released would “have blood on their hands” – in other words detained for involvement in anti-Israeli attacks.
But Palestinian officials slammed what they saw as an insufficient and unilateral decision, saying Israel had broken its agreement to consult them on which prisoners to release.
“This one-sided step does not meet the minimum of our demands,” said Prisoners Minister Sufian Abu Zaydeh.
“Our priority is to release young prisoners, the women, the elderly, the sick and political leaders like Marwan Barghouti,” he added.
The Palestinians have demanded the release of 360 prisoners who have been in jail for more than a decade, but Israel says it will not release prisoners who have been involved in violence.
The latest release comes nearly four months after Mr Sharon pledged to free 900 prisoners as part of a truce package agreed at a Middle East summit in Egypt on February 8, which also included an end to violence and the handover of five West Bank towns to Palestinian control.
Israel released 500 prisoners soon after the February summit, but froze the second batch of 400 in the wake of a February 25 suicide attack, saying the Palestinian side had failed to carry out its pledge to disarm militants.
Palestinian militant groups have observed a de facto truce since February, which was conditional on the release of all 7,000 Palestinians held in Israel, many rounded up by troops during more than four years of Israeli-Palestinian violence.
Following last week’s White House summit between Palestinian leader Mahmoud Abbas and US President George W Bush, a senior official said Israel was willing to let the US mediate its withdrawal from the occupied Gaza Strip this summer.