Iraqi lawmakers attend a parliament session in Baghdad, Iraq, on Sept. 3, 2018. AP
The law, which parliament said in a statement was "adopted" without detailing the votes, revives the electoral law of 2018 and sweeps away one of the gains of the mass protest movement which shook Iraq.
After the protests, a new system favoured the emergence of independent candidates, with some 70 independents winning seats in the 329-member parliament in the last legislative elections in 2021.
Parliament is dominated by the Coordination Framework, an alliance of powerful pro-Iran Shia factions, from whose ranks Prime Minister Mohammed Shia al-Sudani emerged.
The new law removes 83 electoral districts and creates 18 seats, one for each of Iraq's provinces.
This "makes it easier for top party politicians to win seats", analyst Sajad Jiyad said on Twitter.
Conversely, it will make it "harder for candidates in smaller parties and independents to compete" because they will be running at a provincial rather than a local level, he added.
During the debate, which ran from Sunday into the early hours of Monday, several angry independent lawmakers were expelled from the debating chamber, according to videos they filmed themselves.
The law also replaces a first past the post system with proportional representation.
Overall, the changes will benefit the larger parties and make it possible "for their candidates who didn't get enough votes initially to win seats," Jiyad added.
"Independent candidates will no longer have any hope of obtaining representation in parliament", said Alaa al-Rikabi, an independent lawmaker. "They will be crushed".
But Coordination Framework lawmaker Bahaa al-Dine Nouri welcomed the change, arguing that it will "distribute the seats according to the size of the parties".
Nouri said this will "lead to the formation of a government within the time limits set by the constitution" to avoid the endless standoffs that followed the 2021 election.
The new law will apply to the next legislative elections, the date of which has not yet been set.
It will also apply to provincial elections slated for November 6, to be held in 15 of the 18 Iraqi provinces, excluding the three provinces in the autonomous Kurdistan region of northern Iraq.
In Iraqi Kurdistan, regional elections will take place on November 18 under a separate electoral system.