The passage of the measures means that negotiations on an €86bn European Union bailout can begin.
The reforms include changes to Greek banking and an overhaul of the judiciary system.
Thousands demonstrated outside of parliament as the bill was debated, with protests briefly turning violent as petrol bombs were thrown at police.
There had been fears of a rebellion by MPs but Greek Prime Minister Alexis Tsipras was easily able to must the support required. In total, the measures received 230 votes in favour and 63 against with five abstentions.
Among those who voted against were 31 members of his own Syriza party. However, this represents a smaller rebellion than in last week's initial vote.
Former Greek Finance Minister Yanis Varoufakis was one of those rebels in the first vote who returned to vote with the government this time.
Speaking before the vote, Mr Tsipras stressed that he was not happy with the measures that creditors had imposed.
"We chose a difficult compromise to avert the most extreme plans by the most extreme circles in Europe," he told MPs.
Representatives of the European institutions that would provide the bailout funds will begin negotiations in Athens on Friday.