The bill, unanimously approved by the 290-seat Majlis, stipulates that car owners be provided with "smart cards" that fix a subsidised petrol allowance and force drivers to pay full price when they exceed that ration.
Petrol pumps are to be equipped with the new technology by mid-January, with the new system coming into force three months later.
The law is subject to the approval of the Guardians Council, a 12-member legislative watchdog.
Petrol is cheap in Iran: A litre of regular costs 800 rials (nine US cents, or 34 cents a gallon) and a litre of super costs 1100 rials (12 cents, or 45 cents a gallon).
The head of the parliament's energy commission, Kamal Daneshyar, was quoted in Iranian media as saying that the government had proposed a subsidised fuel allowance of five litres a day for private motorists and 30 litres a day for taxis and public sector vehicles.
The final figures will be worked out later, once the smart card system is installed.
Iran is Opec's second-largest
oil exporter (file photo)
An explosion in car ownership has seen petrol consumption rise to 66 million litres a day, and the Islamic republic's refineries - which produce 40 million litres a day - cannot keep up.
The shortfall is met by imports, for which Iran - Opec's number-two oil exporter - has to pay full price. During Iran's last financial year, which ended in March, an estimated $2.8 billion was spent on imports.
In the current Iranian financial year, that figure is set to increase to $4 billion.
The problem has been worsened by petrol smuggling to those of Iran's neighbours where petrol costs are at the real market value.