The measure guarantees a majority of seats to the party that wins the most votes in an election.
It is a key element of a package of reforms promised by Italian Prime Minister Matteo Renzi.
The law seeks to end Italy's post-war era of revolving governments, political horse-trading and unstable coalitions.
The lower house of parliament gave final approval to the bill by 334 votes to 61.
The proportional election system awards 340 out of 630 seats to any party that wins more than 40% of the national vote.
If no party reaches that threshold, there is a second-round run-off between the two parties with the most votes.
The electoral reform is expected to come into force next year.
After the vote, Mr Renzi said: "Commitment achieved, promise respected. Italy needs people who don't always say no."
Critics have accused the 40-year-old former mayor of Florence who became prime minster last year of trying to consolidate his grip on power.
They complain that the law awards too much power to single parties, gives party bosses too much scope to select candidates, and denies voters the chance to directly choose representatives. Opposition parties boycotted Monday's vote.
Renato Brunetta, parliamentary head of centre-right opposition party Forza Italia, said afterwards that it was "a very ugly day for our country's democracy".
Mr Renzi wants to further transform the Italian system by abolishing the Senate and replacing it with a non-elected body with lesser powers.
Currently, legislation is often held up because identical versions of bills have to be approved by both houses.
The Italian parliament has approved a long-debated and extensive electoral reform that aims to give the country more political stability.