ASDA and Sainsbury's have announced their second fuel price cut in three weeks.

The supermarket giants reduced the cost of a litre of fuel by up to 2p for petrol and 1p for diesel.

Drivers filling up at any of Asda's forecourts will pay no more than 117.7p per litre for petrol and 122.7p for diesel.

Asda was the first to announce a price cut on Friday and implemented the change immediately.

It was followed by Sainsbury's, which will charge the lower prices from Sunday.

Asda senior fuel buyer Dave Tyrer said: "We know how important saving money is for our customers at this time of year, so we will always aim to keep the cost of essentials down, whether that's on fuel, food or fashion.

"Over the last three weeks, we've brought fuel prices down by up to 4p per litre without any voucher requirements, meaning all our customers, regardless of their budget, will benefit from a price cut at the pumps."

The AA recently accused Asda's supermarket fuel retailer rivals of discriminating against poorer motorists by only passing on cuts in wholesale prices to people who spend at least £40 on groceries.

An AA spokesman said: "Asda's price cuts mean that lower-spending drivers - such as the young, lower-income workers, people who live on their own and many of the elderly - are no longer frozen out from the benefit of reduced wholesale costs.

"As has become an established pattern this year, other supermarkets have waited for Asda to make the first move in a series of pump price skirmishes - meanwhile tying fuel savings to £40 or £60 spends in-store.

"That works for some shoppers but many others resent being left out in the cold when it comes to cheaper fuel."

Supermarket fuel vouchers from Tesco, Sainsbury's and Morrisons generally offer either 5p off per litre with a £40 in-store spend or 10p off with a £60 spend.

An AA survey of nearly 18,000 drivers indicated that more than one in five (22%) of those in the lowest socio-economic group are "very unlikely" to spend £40 in a single supermarket trip, making them ineligible for the fuel discounts.

Latest Government figures show the average price of a litre of fuel at UK forecourts stands at 124.8p per litre for petrol and 129.8p for diesel.

RAC fuel spokesman Simon Williams described the move by Sainsbury's as "a token cut" as it charges 2p per litre more than Asda.

He said the amount by which Sainsbury's, Tesco and Morrisons charge more than Asda for fuel has grown from 1p per litre in 2016.

"Over the course of three years, the gap has slowly widened at the expense of drivers all over the country," he added.

"The unfortunate result is that other fuel retailers, not near Asda forecourts, don't have to lower their prices as much to compete, meaning the UK average price doesn't fall as far as it really should. This makes every fill-up that much more expensive."