The cost of petrol and diesel has been cut by 3p per litre in the latest chapter of a supermarket price war.