MPs approved the HGV Road User Levy Bill, which will bring in a levy for heavy goods vehicles using the UK's network of public roads, at second reading on 20 November 2012.
Under the plans, hauliers will have to pay £10 a day when lorries weighing more than 12 tonnes use UK roads, up to a maximum of £1,000.
British hauliers, who face similar charges when their lorries travel in the EU, will also have to pay the UK levy, but vehicle excise duty will be cut to compensate.
Transport Secretary Patrick McLoughlin said: "Vehicles which cause wear and tear to our roads should make a payment to take this into account."
Foreign lorry drivers had "long enjoyed an advantage over our own haulage industry", he told MPs.
Drivers who fail to pay the charge will be fined £200, and face the possibility of their lorries and loads being impounded.
"We do not wish to discourage free trade with our partners in other countries. However, it is only right that we say we want to ensure that our own haulage industry has a fair chance to compete, and I hope this will go some way to giving that fair chance."
Shadow transport minister Jim Fitzpatrick said Labour supported the bill in principle, but indicated that his party's MPs could seek to make changes as the legislation began more detailed scrutiny in its passage through Parliament.
Labour MP and chair of the Commons transport committee Louise Ellman said the legislation was "about backing the UK haulage industry and helping create a level playing field".