Foreign lorries are to be charged up to £1,000 a year to use British roads - in a bid to benefit domestic hauliers.
The fee will also apply to UK-based lorries - but this will be offset by an equivalent cut in vehicle excise duty.
The move is designed to create a "level playing field" for British lorry drivers, as they have to pay for using roads in Europe.
The AA said it was concerned the system could lead to a universal road charging scheme for all motorists.
The government will publish draft legislation next month and ministers said the charge would be brought in by the end of the current parliament at the latest.
The amount of the charge would depend on the size of the vehicle and is expected to raise a total of £20m a year.
Transport Secretary Patrick McLoughlin said: "These proposals will deliver a vital shot in the arm to the UK haulage industry.
"It is simply not right that foreign lorries do not pay to use our roads, when our trucks invariably have to fork out when travelling to the continent.
"By introducing charges we will create a level playing field, increasing UK competitiveness and boosting growth."
British hauliers who operate in Europe face a variety of road tolls and charges while continental lorries can use British roads for free.
Road Haulage Association chief executive Geoff Dunning said it was a "happy day" for the industry.
"We have been campaigning for years to see a system introduced which will lessen the financial advantage currently enjoyed by our European neighbours," he said.
"UK hauliers travelling to mainland Europe have to pay road charges but foreign-registered vehicles travelling to the UK pay nothing."