Asda claimed its first win in five weeks after losing out three times in a row to Tesco and to guest retailer Lidl last week.

The win will come as a welcome relief for Asda, even though its margin of victory was quite narrow. The Walmart-owned retailer’s £56.15 total was just 82p cheaper than Sainsbury’s, which claimed a surprise second place.

Asda, which is beginning to show signs of a recovery in terms of sales, was offering the cheapest price for 20 items, nine of which were exclusively cheaper than any of its rivals. However, it had to offer our shopper a hefty voucher worth £5.20 as it did not meet its Asda Price Guarantee pledge to be 10% cheaper than its big four rivals.

Tesco came in third at £58.60, which was £2.45 more expensive than Asda. However, it instantly deducted £2.49 from the bill of our mystery shopper as part of its Brand Guarantee initiative, so it was technically 4p cheaper. And the cashback would have been £2.69 had the store stocked the Nairn’s oatcakes, which would have made Tesco 24p cheaper than Asda.

For the second week running, Morrisons was some way off the pace set by its big four rivals. Its £59.57 total was £3.42 more expensive than Asda. Waitrose was not as far behind its rivals as has it been in recent weeks. It was £6.27 more expensive than Asda at £62.42. A mere 10%.