Asda has reduced its petrol and diesel prices by up to 3p per litre after fuel retailers were accused of not passing on savings from lower wholesale costs.

The supermarket chain said its new national fuel cap means drivers will pay no more than a fraction under £1.20 per litre for petrol and £1.32 for diesel at its filling stations.

It is Asda’s third petrol price reduction in less than three weeks, bringing the cost down by up to 8p per litre.

Its previous cut was matched by Morrisons, Sainsbury’s and Tesco.

Petrol and diesel prices have reached a four-year high in recent months.

Over the past six months, the cost of filling up a typical 55-litre family car that runs on petrol or diesel has risen by around £6.

The average cost of fuel at UK filling stations dropped by just over 1p in the past week to £1.29 per litre for petrol, according to Government figures.

Owners of diesel vehicles have been hit by price rises for 19 consecutive weeks, reaching an average of £1.37.

The last time diesel was this expensive was March 2014.