Humans are creatures of habit and routine, and most of us do our grocery shopping at the same store. Perhaps we started going there because it was the closest, but now we go because we’re familiar with what it offers and where to find it.
But the cost of living crisis has forced some people to reassess their shopping habits. Some people visit multiple shops and buy their groceries wherever they’re cheapest – though of course this involves more time and petrol, so isn’t an option for everybody.
Perhaps you had no idea that by visiting a supermarket further away, you could make a significant saving on your food shopping. We decided to compare the prices of 25 items that are widely considered to be grocery essentials, in order to help you make an informed decision about which supermarket(s) you visit.
Read more: We shopped at Lidl to see how far we could stretch a tenner
Prices were correct at the time of writing, but are subject to change. At the end, we’ll look at the total costs for one of everything from each supermarket (if all packs were equally sized). We’ll also look at the order of the six supermarkets from cheapest to most expensive. It may surprise you.
Milk (semi-skimmed, four pints)
Asda £1.80 (£0.79/lt) However, whole milk and skimmed milk cost £1.55.
Morrisons £1.55 (£0.68/lt)
Tesco £1.55 (£0.68/lt)
Sainsbury’s £1.55 (£0.68/lt)
Lidl £1.55 (£0.68/lt)
Aldi £1.55 (£0.68/lt)
Eggs (free range, six medium)
Asda £1.20 (£0.20 each)
Morrisons £1.25 (£0.208 each)
Tesco £1.15 (£0.192 each)
Sainsbury’s £1.10 (£0.183 each)
Lidl £1.09 (£0.182 each)
Aldi £0.99 (£0.165 each)
Butter (salted, 250g)
Asda £2.00
Morrisons £1.99. This is currently on offer, was £2.15.
Tesco £1.99
Sainsbury’s £1.99
Lidl £1.99
Aldi £1.99
Cheese (mature white cheddar)
Asda £3.65 for 825g (£4.42/kg)
Morrisons £3.19 for 625g (£5.10/kg)
Tesco £2.55 for 400g (£6.38/kg)
Sainsbury’s £2.85 for 400g (£7.13/kg)
Lidl £3.99 for 900g (£4.43/kg)
Aldi £3.99 for 900g (£4.43/kg)
Chicken (breast fillets, chilled)
Asda £6.20 for 1kg (£6.20/kg)
Morrisons £6.09 for 1kg (£6.09/kg). This is currently on offer, was £6.75.
Tesco £2.40 for 300g (£8.00/kg)
Sainsbury’s £6.09 for 1kg (£6.09/kg)
Lidl £6.29 for 1kg (£6.29/kg)
Aldi £6.09 for 1kg (£6.09/kg)
Beef (roasting joint)
Asda Typically £11.23 (£8.02/kg)
Morrisons Typically £18.40 (£11.50/kg)
Tesco Typically £10.48 (£13.10/kg)
Sainsbury’s Typically £14.88 (£12/kg)
Lidl Typically £16 (£10.99/kg)
Aldi Typically £7.99 (£7.99/kg)
Mince (beef mince, 5% fat, 500g)
Asda £2.90
Morrisons £2.89
Tesco £2.89
Sainsbury’s £3.20
Lidl £2.89
Aldi £2.89
Salmon (fillets)
Asda £3.75 for 240g (£15.62/kg)
Morrisons £3.99 for 240g (£16.63/kg)
Tesco £4.15 for 260g (£15.97/kg)
Sainsbury’s £4.00 for 240g (£16.67/kg)
Lidl £3.39 for 240g (£14.13/kg)
Aldi £3.39 for 240g (£14.13/kg)
Potatoes (white, 2.5kg)
Asda £1.15
Morrisons £1.29
Tesco £1.05
Sainsbury’s £1.05
Lidl £1.09
Aldi £1.05
Carrots (1kg)
Asda £0.49
Morrisons £0.45. This is currently on offer, was £0.55
Tesco £0.45
Sainsbury’s £0.45
Lidl £0.49
Aldi £0.45
Onions (brown, 1kg)
Asda £0.65
Morrisons £0.65. This is currently on offer, was £1.15
Tesco £1.00
Sainsbury’s £1.00
Lidl £0.65
Aldi £0.55
Chopped tomatoes (single can)
Asda £0.38 (£0.95/kg)
Morrisons £0.39 (£0.98/kg) This is currently on offer, was £0.49
Tesco £0.45 (£1.13/kg)
Sainsbury’s £0.28 (£0.70/kg) This is Hubbard’s Foodstore chopped tomatoes. Sainsbury’s own-brand chopped tomatoes are £0.55 (£1.38/kg).
Lidl 38p £0.38 (£0.95/kg)
Aldi £0.28 (£0.70/kg)
Apples (Gala, six-pack)
Asda £0.90 (£0.15 each)
Morrisons £1.69 (£0.28 each) This is for six “British” apples.
Tesco £0.90 (£0.15 each)
Sainsbury’s £0.90 (£0.15 each)
Lidl £1.19 (£0.24 each)
Aldi £0.90 (£0.15 each)
Bananas
Asda £1 for seven (£0.143 each)
Morrisons £0.79 for five (£0.158 each) This is currently on offer, was £0.89
Tesco £1.35 for five (£0.27 each). These are organic
Sainsbury’s £0.71 for five (£0.14 each)
Lidl £0.71 for five (£0.14 each)
Aldi £0.71 for five (£0.14 each)
Baked beans (single can)
Asda £0.42 (£1.02/kg)
Morrisons £0.39 (£0.955/kg) This is currently on offer, was £0.49
Tesco £0.40 (£0.95/kg)
Sainsbury’s £0.25 (£0.63/kg) This is Hubbard’s Foodstore baked beans. Sainsbury’s own-brand baked beans are £0.50 (£1.25/kg)
Lidl £0.22 (£0.55/kg)
Aldi £0.26 (£0.60/kg)
Pasta sauce
Asda £0.90 (£0.182/100g)
Morrisons £0.89 (£0.178/100g)
Tesco £0.90 (£0.182/100g)
Sainsbury’s £0.80 (£0.16/100g)
Lidl £0.39 (£0.09/100g)
Aldi £0.65 (£0.13/100g)
Cooking oil (olive oil, one litre)
Asda £4.25
Morrisons £4.29
Tesco £4.30
Sainsbury’s £4.30
Lidl £3.69
Aldi £3.59
Frozen peas
Asda £1.25 for 1kg (£1.25/kg)
Morrisons £0.79 for 1kg (£0.79/kg)
Tesco £1.10 for 1kg (£1.10/kg)
Sainsbury’s £1.20 for 910g (£1.32/kg)
Lidl £0.79 for 900g (£0.88/kg)
Aldi £0.65 for 900g (£0.72/kg)
Frozen mixed vegetables (1kg)
Asda £1.10
Morrisons £1.39
Tesco £1.00
Sainsbury’s £1.20
Lidl £0.85
Aldi £0.89
Chips (straight cut)
Asda £2.15 for 1.5kg (£1.43/kg)
Morrisons £1.45 for 1.2kg (£1.21/kg) This is currently on offer, was £1.75
Tesco £1.85 for 950g (£1.95/kg)
Sainsbury’s £1.19 for 1.5kg (£0.79/kg) These are steak cut
Lidl £1.19 for 1.5kg (£0.79/kg)
Aldi £1.09 for 1.5kg (£0.73/kg)
Fish fingers (pack of 10)
Asda £0.69 for 250g (£2.76/kg)
Morrisons £0.79 for 250g (£3.16/kg)
Tesco £1.50 for 300g (£5.00/kg)
Sainsbury’s £0.80 for 250g (£3.20/kg) These are Stamford St fish fingers. Sainsbury’s fish fingers are £1.50 for 300g (£5.00/kg).
Lidl £1.59 for 300g (£5.30/kg)
Aldi £1.59 for 300g (£5.30/kg)
Pasta (fusilli or penne)
Asda £1.75 for 1kg (£1.75/kg)
Morrisons £0.89 for 500g (£1.78/kg) Buy two for £1.50.
Tesco £1.55 for 1kg (£1.55/kg)
Sainsbury’s £1.55 for 1kg (£1.55/kg)
Lidl £1.25 for 1kg (£1.25/kg)
Aldi £1.25 for 1kg (£1.25/kg)
Rice (long grain, white, 1kg)
Asda £1.00
Morrisons £0.95. This is currently on offer, was £1.49
Tesco £1.35
Sainsbury’s £1.55. Also sells Hubbard’s Foodstore White Rice for £0.45 for 1kg
Lidl £0.99. Also sells white rice for £0.45 for 1kg
Aldi £0.95
Bread (white, sliced, 800g)
Asda £0.39
Morrisons £0.79. This is currently on offer, was £0.85
Tesco £0.80
Sainsbury’s £0.80
Lidl £0.39
Aldi £0.39
Instant coffee
Asda £0.83 for 100g
Morrisons £0.85 for 100g
Tesco £2.25 for 200g (£1.13 for 100g)
Sainsbury’s £2.25 for 200g (£1.13 for 100g)
Lidl £1.89 for 200g (£0.95 for 100g)
Aldi £1.69 for 200g (£0.85 for 100g)
Below are the total costs for one of everything from each supermarket, if all packs were equally sized. As you can see, the total shop cost £15.89 more at the most expensive supermarket than the cheapest. The order of the supermarkets from cheapest to most expensive may surprise you.
One of everything (if all packs were equally sized)
Asda £62.41
Morrisons £68.56
Tesco £75.14
Sainsbury’s £70.60
Lidl £63.60
Aldi £59.25
Supermarkets from cheapest to most expensive
1. Aldi
2. Asda
3. Lidl
4. Morrisons
5. Sainsbury’s
6. Tesco
READ NEXT:
- We put Lewis Capaldi’s Pizza The Big Sexy Cheesy One to the taste test
- Aldi's pumpkin casserole dish costs £249 less than Le Creuset's
- Home Bargains shoppers go crazy for £45 air fryer
- Ikea has sale on throws plus other products to make your home cosy
- Devon venues with the worst food hygiene ratings