Global oil prices have been high because of tensions with key supplier Iran.
The move is aimed at ensuring domestic fuel supplies and to help local refiners cut heavy losses.
Analysts said this was a sign the government is less concerned about inflation.
Rising prices have been a problem in China since the global financial crisis led authorities to introduce a stimulus package.
Consumer prices peaked in July last year at 6.5% before easing.
In February, the rate of inflation was 3.4% from a year earlier, which is below the government's target of 4%.
"It's a bold move by the National Development and Reform Commission ...looks like inflation has fallen off quite sharply recently, so it is a good politically-timed window," Gordon Kwan from Mirae Asset Management in Hong Kong.
High prices, especially of food and fuel, have previously led to unrest in Chinese cities.
Under China's fuel-pricing system, domestic fuel prices can be adjusted when a basket of international crude changes by more than 4% over a period of 22 days.
The hikes are higher than market expectation of an average 3% rise. They come after crude prices rose more than 10% in February.
Fuel prices were last raised in China in February by around 3% to 4%.
After the increase on Tuesday, benchmark diesel will be about $1.22 (76p) per litre and 90-octane petrol about $1.17, although prices vary by region.
Refiners had been urging the government to raise fuel prices, to help them pass on some of the higher cost of crude to consumers.