The bill passed by 230 votes out of the 298 members of Parliament present, after a marathon debate stretching into the early hours.
It covers changes to the civil justice system, a bank deposit protection scheme and measures to shore up the liquidity of Greece's banks - reforms needed to enable progress in bailout negotiations with creditors.
Prime Minister Alexis Tsipras faced a rebellion among his MPs for the second time in a week.
He trimmed the rebellion from 39 no-votes and abstentions last week to 36 yesterday, but again had to rely on opposition parties to get the bill passed.
About 6000 anti-austerity demonstrators protested near Parliament before the debate, lobbing a handful of petrol bombs in the direction of on-alert police.

