Tesco vs Sainsbury's vs Asda: Same Grocery Basket, Priced

Short answer: on October 19, 2026, six staples in identical sizes cost £15.12 at Tesco, £15.62 at Sainsbury's and £16.23 at Asda, at regular shelf prices. The basket: semi-skimmed milk 4 pints, salted butter 250g, chicken breast fillets 1kg, white potatoes 2kg, own-label mature cheddar 400g, and brown onions 1kg.

Milk and butter are exactly tied across all three, so the comparison is decided by potatoes, onions and chicken. Aldi could not be scored on the same six lines because its fresh milk and 2kg potatoes could not be verified this week, but its verified prices are listed below, and on bread and chicken it is far cheaper.

The six shared staples, item by item

Milk, semi-skimmed 4 pints: Tesco £1.65, Sainsbury's £1.65, Asda £1.65. A perfect tie, at 73p a litre.

Butter, salted 250g: Tesco £1.85, Sainsbury's £1.85, Asda £1.85. Another tie, £7.40/kg at all three.

Chicken breast fillets, 1kg: Tesco £6.90, Sainsbury's £6.90, Asda £7.00. Asda is 10p behind on the biggest line in the basket.

Potatoes, white 2kg: Tesco £1.32, Sainsbury's £1.32, Asda £1.80. Asda's Maris Piper bag costs 48p more, the largest single gap in the basket. Tesco also has its 2kg bag at 99p on Clubcard Price this week, which would stretch its lead further.

Cheddar, own-label mature 400g: Tesco £2.45 (Creamfields), Sainsbury's £2.95, Asda £2.95. Tesco's value-tier block is 50p cheaper, the second-largest gap.

Onions, brown 1kg: Tesco £0.95, Sainsbury's £0.95, Asda £0.98. Sainsbury's drops to £0.80 at Nectar Price, the only loyalty price that changes a line here besides the Tesco potatoes.

Totals: Tesco £15.12, Sainsbury's £15.62, Asda £16.23. With this week's loyalty prices applied (Tesco potatoes at 99p, Sainsbury's onions at 80p), the totals become Tesco £14.79 and Sainsbury's £15.47.

What Aldi does to this comparison

Aldi matched the butter tie at £1.85 and beat everyone on two big lines: an 800g white loaf at £0.55 against £0.75 at Tesco, and Everyday Essentials chicken breast fillets at £4.25/kg against £6.90/kg at Tesco and Sainsbury's. That chicken tier is a budget line and not identical to the standard fillets, but the £2.65/kg gap is too large to ignore.

Aldi also matched the £2.45 own-label cheddar 400g price and sold the branded Cathedral City 350g block for £2.99 against £3.75 at Sainsbury's. Its brown onions are £0.95, or 80p for the wonky bag.

What we could not verify at Aldi this week: fresh semi-skimmed milk 4 pints (only UHT lines were listed), a 12 pack of eggs, standard beef mince, a 2kg bag of potatoes, and natural yogurt. So Aldi gets no total, by the same rule we applied to Walmart and Kroger in the US: no invented numbers.

The honest gaps

Morrisons is missing entirely. We could not open any morrisons.com product prices, and it had no entries in this week's price scrape. A comparison that invented Morrisons prices would be worthless, so Morrisons is a stated gap, and we will keep trying.

Sainsbury's prices come from a scrape of its own product pages dated October 19, 2026, because sainsburys.co.uk blocks direct outside checking. Every Sainsbury's price here is from its own listings, just collected differently.

Standard beef mince is missing from all three scored stores: only Tesco's premium Finest 5% mince (£6.50 for 500g) could be verified. Mince is covered in its own guide, linked below.

These are online list prices checked on October 19, 2026. Shelf prices in a specific store can differ, and loyalty prices change weekly, which is why we rerun this comparison regularly in the tracker.

Store comparisons tell you the national picture. Your receipts tell you which store is cheapest for your basket. Scan them free (5 scans a month, no credit card) and compare your real prices.