The legislation, drafted by a Labour MP and backed by ministers, would lead to new guidance encouraging schools to keep down costs.
It would also force schools to keep compulsory branded items, like blazers, to a minimum.
An MPs' inquiry in 2019 found such items can cost up to three times more.
Schools Minister Nick Gibb said the government supported the bill because it would "help many families across the country" with uniform costs.
But he promised schools would not be forced to make "sudden changes to their uniform policy" for the new school year in September.
The government does not force schools in England to have a uniform, but they are strongly encouraged to do so by the Department for Education.
The department currently produces advisory guidance encouraging schools to keep costs down - such as by opting for uniforms available in supermarkets.
The bill backed by MPs on Friday would require the government to produce statutory guidance that schools will be legally required to follow.
Having passed its final stages in the House of Commons, it will now head to the House of Lords - where peers are not expected to block it.
Putting guidance on a legal footing would bring the English school system into line with Wales, where this has been the case since September 2019.
The change has been a long time in the making, with the pledge to put it on a legal footing first made by David Cameron's government in 2015.
The Children's Society charity has estimated around a million families have cut back on food and other essentials to cover uniform costs.
Mr Gibb told MPs the new guidance produced by the department would place a "clear expectation on schools not to over-use branded items".
He said schools would also be required to demonstrate value for money if they force parents to buy uniform from a particular company.
He added ministers would not ban the use of single-supplier contracts, but will instead "raise competition" by requiring tenders every five years.
He also said schools would be encouraged to make second-hand uniforms available to parents, adding they had a "vital role" to play.
Labour's Mike Amesbury, who put forward the bill, said he he was in favour of school uniforms because they can act as a "social leveller".
But he said current uniform policies were "failing young people, who can face isolation and even exclusion for not being able to afford the 'right' clothes."
"We must not force parents to choose between putting food on the table and buying their school's expensive branded gear, especially when budgets are so tight due to the impact of the pandemic," he added.
Mr Amesbury got the chance to introduce the bill after he topped a ballot allowing MPs to suggest ideas for new laws, known as private members' bills.
Only a relatively small number of these bills have ever become law, and usually require backing from the government to stand a chance of doing so.
In Scotland and Northern Ireland, low-income families can claim support towards the cost of school uniforms. A similar scheme, based on whether pupils are eligible for free school meals, also exists in Wales.