The vote was 251-166. The five-year bill now goes to the Senate for final approval.
Leaders scheduled a quick vote after the nearly 1,000-page bill was introduced Monday, giving opponents little time to build opposition.
Some House conservatives were not happy with the new bill. They originally wanted to dial back food stamp spending by $4 billion a year; the new bill cuts $800 million a year -- which represents about 1 percent of the $80 billion-a-year program.
The final food stamp savings are generated by ending a practice in some states of boosting individual food stamp benefits by giving people a minimal amount of federal heating assistance they don't need. The cuts were brought down to $800 million a year to come closer to the Senate version of the bill, which had $400 million in annual food stamp cuts. The House bill passed in September would have cut $4 billion a year.
The legislation would also eliminate a $4.5 billion-a-year farm subsidy called direct payments, which are paid to farmers whether they farm or not. The bill would continue to heavily subsidize major crops -- corn, soybeans, wheat, rice and cotton -- while shifting many of those subsidies toward more politically defensible insurance programs. That means farmers would have to incur losses before they received a payout.
The bill would save around $1.65 billion annually overall, according to the Congressional Budget Office. The amount was less than the $2.3 billion annual savings the agriculture committees originally projected for the bill.
Copyright 2016 Nexstar Broadcasting, Inc. All rights reserved. This material may not be published, broadcast, rewritten, or redistributed.