A Yemeni official on Tuesday said the lower prices would come into effect on Wednesday. Analysts had expected the government to revise its decision to appease public anger.
Price rises caused by cuts in subsidies set off riots in Yemen in the past, often leading the government to revise its decision.
More than 300 people, including about 250 security forces and police, were injured in last week's nationwide protests against the subsidy cut, which almost doubled the price of petrol.
The riots were the worst since protests in 1998 in Yemen, a poor country of 19 million, implementing economic reforms backed by the World Bank and International Monetary Fund.
The official said the cabinet decision would decrease petrol prices to 60 rials (31 US cents) from 65 rials a litre while one litre of diesel or kerosene would cost about 35 rials instead of 45 rials.
Gas cylinders would be priced at 350 rials, instead of 400 rials.
Thirty-four people were killed in the 1998 protests, which were also set off by a government decision to reduce subsidies on fuel and food.
Yemen, an oil producer with declining resources, says the fuel price rises are part of the reforms launched in 1995 to prevent economic collapse.
Opposition parties had criticised the increase, and a leading cleric said the government should have curbed rampant corruption before raising fuel prices and further impoverishing the people.
Nationwide protests left more
than 300 people injured
The government had said it would offset the increase by cutting customs tariffs, raising state salaries and halving a planned general sales tax to 5%.
According to World Bank figures, more than 42% of Yemen's population lives below the poverty line, illiteracy is around 50% and unemployment is more than 20%.
The population is expected to double in 20 years.