Every few months a consumer magazine runs the same headline: Aldi is cheapest. They are right, and the story is more interesting than that.

The ranking, basket-weighted

For a broadly representative weekly shop — produce, dairy, bread, rice, chicken, pasta, cleaning — the order holds almost every time:

  1. Aldi — consistently cheapest on staples. Narrow range, which is the whole point.
  2. Lidl — within 2–3% of Aldi. Better bakery.
  3. Asda — the cheapest of the Big Four, especially with the Asda Rewards app.
  4. Morrisons — own-brand has quietly improved; the "Savers" range punches above its price.
  5. Tesco — with a Clubcard, it lands close to Asda. Without, it doesn't.
  6. Sainsbury's — competitive on Nectar Prices; pricier on everything unlabelled.
  7. Waitrose — you already know.

The loyalty card is not a scam, but it is a tax on forgetfulness

Tesco Clubcard and Sainsbury's Nectar now run parallel pricing: the shelf price is what non-members pay, and it is materially more than the member price on roughly a third of items. If you shop there weekly without a card, you are volunteering £200–400 a year to the retailer.

The catch: these schemes exist because the data is worth more than the discount. You are trading a detailed map of your diet for a cheaper tin of beans. That trade might be worth it. Make it knowingly.

Where each chain genuinely beats the others

  • Aldi: fresh produce, olive oil, chocolate, their Specialbuys aisle if you enjoy chaos.
  • Lidl: bakery, cured meats, random Central European imports nobody else carries.
  • Asda: George clothing (if you need cheap basics), household cleaning.
  • Morrisons: the in-store butcher is a genuine bargain in a country that has largely forgotten what one is.
  • Tesco: meal deals, if your lunch is £3.90 and not home-made.
  • Sainsbury's: Taste the Difference on promotion beats Waitrose at full price.
  • Waitrose: free coffee with a MyWaitrose card, which is the cheapest thing in the shop.

The yellow sticker economy

Every major supermarket marks down short-dated stock, usually late afternoon. The discount hits 75%+ in the final hour before close. The returns on effort here are enormous: a £6 joint of lamb for £1.50 is not theoretical; it is Tuesday.

Two rules make this sustainable:

  • Cook it or freeze it that night. Most meat and fish can be frozen at home on the use-by date; you reset the clock.
  • Don't buy things you wouldn't have bought full-price. A bargain you'll throw out is £1.50 wasted, not saved.

A note on online pricing

Ocado, Sainsbury's, and Tesco deliver at broadly the same price as their stores — plus delivery. Aldi and Lidl don't deliver food. If your time is worth more than the fare, that changes the ranking meaningfully. If it isn't, it doesn't.