Immediate reason for the petrol price hike was the crisis in Iraq, which spooked international oil and currency markets.
The hike, effective midnight tonight, excludes local sales tax or VAT and the actual increase will be higher, varying from city to city.
Petrol in Delhi will cost Rs 73.58 per litre, up Rs 2.02 from Rs 71.56 at present. Diesel rates will go up by 56 paise to Rs 57.84 per litre.
"Due to geo-political unrest in the Middle East, there has been significant increase in international oil prices during the past two weeks.
"The international prices of gasoline (petrol) have increased by more than USD 4 per barrel, and the rupee-US dollar exchange rate has also deteriorated. The combined impact of both these factors has warranted an increase in petrol prices by Rs 1.69 per litre, excluding state levies," Indian Oil Corp, the nation's largest oil firm, said.
Diesel rates were hiked in continuation with the previous UPA government's January 2013 policy of raising prices in small doses every month to eliminate subsidy.
IOC said despite the 17 hikes since then, oil firms are losing Rs 3.40 a litre on diesel. Losses have increased from Rs 2.80 a litre earlier this month due to firming up of international oil rates and the rupee depreciating against the US dollar.
Besides diesel, the state oil firms lose Rs 33.07 a litre on kerosene sold through the public distribution system (PDS) and Rs 449 per 14.2-kg domestic subsidised LPG (cooking gas) cylinder.
IOC said at current rate the industry (IOC plus Bharat Petroleum and Hindustan Petroleum) are projected to end the fiscal with Rs 107,850 crore of revenue losses.