MPs have backed government plans to cut spending on tax credits in the face of opposition from Labour and the SNP.
The Commons approved plans to lower the earnings level above which tax credits are withdrawn from £6,420 to £3,850 and speed up the rate at which the benefit is lost as pay rises by 35 votes.
Ministers say the move, estimated to save £4.4bn, is part of wider plans to raise pay and incentivise work.
But Labour say it is an "ideological attack" on working families.
The curbs on tax credits were announced in Chancellor George Osborne's post-election Budget in June.
During a 90-minute debate in the Commons, the opposition claimed three million families face losing an average of £1,000 a year from next April.
But ministers said the tax credit system had, for too long, been used to subsidise low pay and the changes would bring total expenditure on tax credits back down to more sustainable levels seen in 2007-8.
MPs backed a motion enacting the changes by 325 votes to 290 although two Conservatives - David Davis and Stephen McPartland - voted against the government while another, Andrew Percy, abstained.
Treasury minister Damian Hinds said eight out of 10 households would be better off by 2018-9 as a result of measures announced in the Budget to introduce a national living wage from next April, to further increase the personal tax allowance to £12,500 and to extend childcare subsidies.
Analysis: the government's welfare changes
"For too long in this country, low pay has been addressed not by genuine reform and driving productivity but by subsidising the tax credit system," he said.
"The changes introduced in this order will build on the last parliament's reforms and return real-terms tax credit spending to the level it was in 2007-08 - a decade into the tenure of the government of the Labour Party."
But Labour's Seema Malhotra said the changes were being "sneaked through the back door" and the measures designed to offset them would not provide adequate compensation.
"This is a political decision made by the chancellor that is set to see over three million families lose an average of £1,000 a year," the shadow Treasury minister said. "It is ideologically driven, it is cynical and it will directly increase levels of poverty in Britain."
"It is part of an ongoing attack on the incomes of some of the most hard working families in our constituencies - those very strivers the chancellor purported to support."
The SNP insisted families will have to make difficult choices about food and heating their home if they lose £100 a month, while the Lib Dems said their eight MPs had opposed the curbs on tax credits, saying they "hit low income working people who are doing the right thing".