Indian train fares were Wednesday hiked across the board for the first time in 10 years, with Railway Minister Pawan Kumar Bansal saying this was needed to keep the world's second-largest rail network going.
But the opposition termed the move as "unacceptable" and "atrocious".
The new fares take effect from Jan 21 midnight.
Bansal said he would focus on improving services and safety from the Rs.6,000 crore expected to be earned from the fare hike.
But he added that fares would not be touched during the annual railway budget to be tabled in February.
"There has been no revision of basic fares for 10 years, and this has had a telling effect on railway finances," Bansal told reporters.
"It is imperative to go for a moderate fare hike immediately."
The fare hike ranged from two paise per kilometre on second class suburban trains, six paise per kilometre on sleeper class to three, six and 10 paise per kilometre on air-conditioned III, II and I classes respectively.
Bansal said the hike was needed to maintain and improve safety measures as well as cleanliness of trains, and to better the condition of railway stations.
But opposition parties condemned the hike.
"The government goes on increasing the price but it does not increase amenities and safety of railways. It is absolutely unacceptable and atrocious," said BJP spokesperson Prakash Javadekar.
Fares for first class and all air-conditioned classes were last revised in March last year.
But the then railway minister Mukul Roy of Trinamool Congress rolled back the hike announced in the 2012 budget in general passenger categories by his party colleague Dinesh Trivedi.
"The railway fare hike is anti-poor people. It is anti-common people," Roy said.
"From Thursday 5 p.m., Trinamool will start protests all over the country," he said.
But defending the hike, Congress spokesperson Rashid Alvi said: "Sometimes, it is inevitable to take tough decisions."
The railway ministry came to the Congress after 17 years when Bansal took charge in October after Trinamool left the ruling United Progressive Alliance.
Bansal said besides a slowdown in the economy, a likely reduction in the railway's plan size to Rs.51,000 crore from the estimated Rs.60,000 crore, and lower freight targets by 13 million tonnes forced the fare hike.
Increasing input costs was another factor, he said.
But common people found the argument difficult to buy.
Egg vendor Prakash Kumar Yadav wondered how he would be able to afford the hike.
"I earn an average of Rs.5,000 per month and out of that, Rs.3,000 goes on food. Out of the rest, I have to account for clothes, emergency situations and travel. So in this tight budget, how can one afford the hike," he told IANS.
Auto-rickshaw driver Satrohan Singh told IANS: "I have to travel by train often. The hike will affect my pocket a lot. And it is not like I have an option to cut my travels. When there is work, I have to travel home. But with prices increasing all around, I'm not surprised that train tickets have become more expensive."