We use cookies to allow us and selected partners to improve your experience and our advertising. By continuing to browse you consent to our use of cookies. You can understand more and change your cookies preferences here.

Home & garden.

When you click on a retailer link on our site, we may earn affiliate commission to help fund our not-for-profit mission.Find out more.

Updated: 4 May 2022

Supermarket price comparison

Discover which is the cheapest supermarket in the UK, based on exclusive Which? price comparison analysis.
Hannah Walsh

Which is the cheapest supermarket in 2022?

Every month, we compare how much the UK's biggest supermarkets charge for a trolley of groceries, including everything from bread to toothpaste. 

We compare hundreds of grocery prices at Aldi, Asda, Lidl, Morrisons, Ocado, Sainsbury’s, Tesco and Waitrose to reveal the cheapest supermarket each month (links take you to our reviews of each supermarket). 

There's a regular price war between Aldi and Lidl, the two discounters, and often huge differences between the larger supermarkets. 

You can find out the latest results of our analysis directly below - you may be surprised by how the grocers rank when we compare them...

April 2022

Lidl (Lidl.co.uk) was the cheapest supermarket in April 2022, for the fifth month in a row. Our basket of 18 groceries cost £25.92 at the discounter, compared to £35.06 at Waitrose. Asda was the cheapest of the traditional supermarkets for our small basket of items. 

SupermarketAverage basket price
Lidl£25.92
Aldi£26.66
Asda£28.46
Sainsbury's£30.73
Ocado£30.75
Tesco£31.01
Morrisons£31.19​​​​​​​​

We also compared a larger trolley of 63 groceries (the original 18 plus 45 more). Asda (Asda.com) - which has been the cheapest traditional supermarket every month since January 2020 - was the cheapest for our bigger trolley of items at £132.81. It was £17.01 cheaper than Waitrose, where the bill would have been £149.82.

SupermarketAverage trolley price
Asda£132.81
Sainsbury's£138.58
Morrisons£139.65
Tesco£145.92
Ocado£147.35
Waitrose£149.82​​​​

 

March 2022

Lidl (Lidl.co.uk) was the cheapest supermarket in March 2022, with our basket of 21 groceries costing an average of £26.83. The same or equivalent items from the priciest supermarket Waitrose, meanwhile, would have cost £36.04.

SupermarketAverage basket price
Lidl£26.83
Aldi£27.14
Asda£28.63
Sainsbury's£29.39
Tesco£30.30
Ocado£31.24
Morrisons£31.53

We also compared a larger trolley of 65 groceries, made up of the original 21 plus 44 more. At £128.60, Asda (Asda.com) was the cheapest traditional supermarket of the month, charging £6.56 less than its nearest rival Sainsbury’s (Sainsburys.co.uk) at £135.16.

Supermarket Average trolley price
Asda£128.60
Sainsbury's£135.16
Morrisons£136.21
Tesco£140.65
Ocado£144.01
Waitrose£148.76


February 2022

Lidl (Lidl.co.uk) was the cheapest supermarket in February 2022, with our basket of 23 groceries costing an average of £24.21. The same or equivalent items from the priciest supermarket Waitrose, meanwhile, would have cost £33.71.

SupermarketAverage basket price
Lidl£24.21
Aldi£24.83
Asda£27.35
Tesco£27.40
Sainsbury's£27.68
Morrisons£29.19
Ocado£31.28

We also compared a larger trolley of 66 groceries, made up of the original 23 plus 43 more. At £128.19, Asda (Asda.com) was the cheapest traditional supermarket of the month, charging £1.68 less than its nearest rival Sainsbury’s (Sainsburys.co.uk) at £129.87.

SupermarketAverage trolley price
Asda£128.19
Sainsbury's£129.87
Morrisons£136.44
Tesco£139.25
W​​​​aitrose£142.91
Ocado£144.45

January 2022

Lidl was crowned the cheapest supermarket in January 2022, with our range of 23 groceries costing an average of £24.78. The same or equivalent items from the priciest supermarket Waitrose, meanwhile, would have cost £33.94.

SupermarketAverage basket price
Lidl£24.78
Aldi £25.37
Asda£27.07
Tesco £28.40
Sainsbury's£30.05
Morrisons£30.75
Ocado£30.83

We also compared a larger trolley of 68 groceries, made up of the original 23 plus 45 more. At £133.34, Asda was the cheapest traditional supermarket of the month, charging £2.69 less than its nearest rival Sainsbury’s at £136.03.

SupermarketAverage trolley price
Asda£133.34
Sainsbury's£136.03
Morrisons£141.34
Tesco£142.24
Ocado£147.08
Waitrose£149.27

How do we work out which is the cheapest supermarket?

We track the prices of up to 200 branded and own-label products every day over the course of a month to work out the average cost per item, then add those averages up to get a trolley total for each retailer. We include special offers but not multibuys. 

The contents of our trolley vary from month to month and might include anything from Andrex toilet paper and Lurpak butter to own-label bread and Heinz baked beans.

Our data is supplied by an independent price comparison company. Most of it is based on online prices, but for Aldi and Lidl (which don't sell their full ranges online) we send fieldworkers out into stores to see how much each item costs each day.

We rotate the products in the trolley to ensure we're comparing as many branded products as possible. This means the trolley totals aren't comparable between months or years.

How our research has changed to include Aldi and Lidl

At Which?, we’ve been analysing supermarket prices for years, but we only added Aldi and Lidl to our research in 2020.

Why? We used to only include branded products in our trolley. This had the advantage of ensuring that we were strictly comparing like with like. However, the downside was that, as Aldi and Lidl primarily sell own-label items with just a small supplementary range of branded goods, they couldn’t be included. 

Many Which? members told us that they would find it helpful to be able to see how the discounters compared with the mainstream supermarkets. We listened to that feedback and have added own-label items to our trolley to enable us to widen the net of retailers we include.

We use experts to ensure that own-label products are as comparable as possible between the supermarkets, based on a range of factors including weight, quality and other industry data.

Which supermarket was cheapest in 2021?

As well as analysing prices each month, we do a whole-year look each January - and, according to our analysis, Aldi was the cheapest supermarket in 2021. 

Aldi won our 'cheapest supermarket of the month' title six times last year – more than any other supermarket. Lidl came top for five months and, for one month, the two discounters were tied.

The two are consistently very close in our monthly basket comparison, which includes own-brand products such as apples and eggs as well as branded goods such as Hovis bread - often with just a few pence separating them. 

Asda was the cheapest of the non-discounter supermarkets, coming out on top every month across 2021. 

At the other end of the scale, Waitrose was most expensive each month.

Monthly supermarket pricing in 2021

December 2021

Lidl was crowned the cheapest supermarket in December 2021, with our range of 22 groceries costing an average of £23.29. The same or equivalent items from the priciest supermarket Waitrose, meanwhile, would have cost £32.85 - that's 41% more.

SupermarketAverage basket price
Lidl£23.29​​​​
Aldi£23.64
Asda£24.52
Tesco£26.32​​​​
Sainsbury's£26.70
Morrisons£27.54
Ocado£28.53

We also compared a larger trolley of 70 groceries, made up of the original 22 plus 48 more. At £135.07, Asda was the cheapest traditional supermarket of the month, charging £5.96 less than its nearest rival Sainsbury’s at £141.03.

SupermarketAverage trolley price
Asda£135.07
Sainsbury's£141.03
Morrisons£142.61
Tesco£146.55
Ocado£147.88
Waitrose£153.37

November 2021

Aldi was crowned the cheapest supermarket in November 2021, with our range of 23 grocery products costing an average of £24.64. The same or equivalent items from the priciest supermarket Waitrose, meanwhile, would have cost £34.79 - over £10 more.

SupermarketAverage basket price
Aldi£24.64
Lidl
£25.51
Asda£25.57
Tesco£28.87
Sainsbury's£29.62
Ocado£30.18
Morrisons£30.35


We also compared a larger trolley of 72 groceries, made up of the original 23 plus 49 more. At £136.31, Asda (Asda.com) was the cheapest traditional supermarket of the month, charging £4.65 less than its nearest rival Sainsbury’s (Sainsburys.co.uk) at £140.96.

SupermarketAverage trolley price
Asda£136.31
Sainsbury's£140.96
Morrisons£147.28
Tesco£148.68
Ocado£153.27
Waitrose£157.13

October 2021

Aldi was the cheapest supermarket in October 2021, with our basket of 23 food and drink items costing £24.24 on average. The same or equivalent groceries from the most expensive supermarket Waitrose, meanwhile, would have cost £34.79 - over £10 more.

SupermarketAverage basket price
Aldi£24.24
Lidl£24.97
Asda£25.94
Sainsbury's£27.71
Morrisons£28.31
Tesco£28.64
Ocado£29.95


We also compared a larger trolley of 77 items, comprising the original 23 plus 54 more. At £143.21, Asda was the cheapest of the month, charging £2.35 less than its nearest rival Sainsbury’s at £145.56.

SupermarketAverage trolley price
Asda£143.21
Sainsbury's£145.56
Morrisons£150.26
Ocado£154.40
Tesco£156.72
Waitrose£164.91

September 2021

Aldi was the cheapest supermarket in September 2021, with our basket of 22 food and drink items costing £24.03 on average. The same or or equivalent groceries from the most expensive supermarket Waitrose, meanwhile, would have cost £33.06 - over £9 more. 

SupermarketAverage basket price
Aldi£24.03
Lidl£24.40
Asda£26.19
Sainsbury's£27.95
Morrisons£28.31
Tesco£28.31
Ocado£29.84


We also compared a larger trolley of 79 items, comprising the original 22 plus 57 more. At £146.36, Asda was the cheapest of the month, charging £4.81 less than its nearest rival Sainsbury’s at £151.17.

SupermarketAverage trolley price
Asda£146.36
Sainsbury's£151.17
Morrisons£157.76
Tesco£161.59
Ocado£163.18
Waitrose£168.02

August 2021

Lidl was the cheapest supermarket in August 2021. Our basket of 23 groceries cost £24.11 on average at Lidl. The same or equivalent items from the most expensive supermarket Waitrose would have cost £33.20 - over £9 more. 

SupermarketAverage basket price
Lidl£24.11
Aldi£24.54
Asda£25.22
Morrisons£27.14
Sainsbury's£28.18
Tesco£28.47
Ocado£30.33


We also compared a larger trolley of 82 items, made up of the original 23 alongside 59 more. This included a greater selection of branded items that aren’t always available in the discounter supermarkets – so we weren't able to include Aldi or Lidl.

Asda, at £149.20, was easily the cheapest of the traditional supermarkets for this larger trolley. It was a huge £21.22 cheaper than the most expensive supermarket, Waitrose.

SupermarketAverage trolley price
Asda£149.20
Sainsbury's£158.53
Morrisons£159.34
Ocado£161.16
Tesco£161.16
Waitrose£170.42

July 2021 

Aldi was crowned the cheapest supermarket of July 2021, with our basket of 20 products costing £23.59. The same or equivalent items from the most expensive supermarket, Waitrose, would have cost £31.41 (£7.82 more) compared with Aldi.

Meanwhile, Morrisons overtook Asda as the cheapest 'big four' supermarket for the first time in 17 months.

SupermarketAverage basket price
Aldi£23.59
Lidl£23.77
Morrisons£24.46
Asda£24.72
Sainsbury's£25.13
Ocado£26.63
Tesco£27.06


We also compared a larger trolley of 79 items, made up of the original 20 alongside 59 more. 

This time Asda beat Morrisons by some distance, rolling in at £151.22 compared with £159.96 at Morrisons. Again, Waitrose was the priciest supermarket at £169.50.

SupermarketAverage trolley price
Asda£151.22
Sainsbury's£154.75
Morrisons£159.96
Ocado£162.74
Tesco£162.85
Waitrose​​​​£169.50


June 2021 

Aldi was the cheapest supermarket in June 2021. On average, shoppers would have paid £21.61 for our trolley of 18 items at Aldi. 

Meanwhile, the same or equivalent items at Waitrose were almost £7 pricier than Aldi, at £28.59.

SupermarketAverage basket price
Aldi£21.61
Lidl£21.81
Asda£21.99
Tesco£24.21
Morrisons£24.40
Sainsbury's£24.41
Ocado£26.82


We also compared a larger trolley of 76 items, comprising the original 18 plus 58 more. Asda, at £141.02, was the cheapest - a huge £20.77 less than the most expensive supermarket Waitrose, where our trolley of the same or equivalent items came in at £161.79.

SupermarketAverage trolley price
Asda£141.02
Sainsbury's£146.88
Morrisons£150.87
Tesco£151.87
Ocado£156.09
Waitrose£161.79

May 2021

Lidl was the cheapest supermarket in May 2021, with our trolley of 20 items costing £22.66. The same or equivalent items at Waitrose, the priciest supermarket, cost £31.88.

We also compared a larger trolley of 82 items, comprising the original 20 plus 62 more. At £159.11, Asda was the cheapest of the month, charging £6.11 less than its nearest rival Sainsbury’s (£165.22).

The priciest supermarket was Waitrose, costing £22.49 more than Asda for the same or equivalent items.

April 2021

Aldi was the cheapest supermarket in April 2021, with our trolley of 20 items costing £22.64. The same or equivalent items at Waitrose cost £30.89.

We also compared a fuller trolley of 82 items, comprising the original 20 plus 62 more. At £152.67, Asda was the cheapest of the month, charging £6.87 less than its nearest rival Sainsbury’s (£159.54).

Most expensive was Waitrose, costing £20.57 more than Asda for the same or equivalent items. 

March 2021

Lidl was the cheapest supermarket for March 2021, with our trolley of 20 items costing £22.48. The same or equivalent items at Waitrose cost £29.77. 

We also compared a fuller trolley of 85 items, comprising the original 20 plus 65 more. Asda, at £160.42, was the cheapest of the month – charging £5.27 less than its nearest rival Sainsbury’s (£165.69). 

Most expensive was Waitrose, costing £21.22 more than Asda for the same or equivalent items. 

February 2021

Lidl was the cheapest supermarket for February 2021, with our trolley of 19 items coming in at £19.13. The same or equivalent items at Waitrose cost £27.44.

We also compared a fuller trolley of 85 items, comprising the original 19 plus 66 more. Asda, at £160.89, was the cheapest of the month – charging £6.14 less than its nearest rival Sainsbury’s (£167.03). 

Most expensive was Waitrose, costing £17.90 more for the same or equivalent items. 

January 2021

Aldi and Lidl kept their prices low in January and were joint cheapest for the month, with our trolley of 19 items coming in at £18.45 at both discounters. The same or equivalent items at Waitrose cost £24.79.

We also compared a fuller trolley of 87 items, comprising the original 19 and 68 more. Asda, at £160.08, was the cheapest of the month – charging £9 less than its nearest rival Sainsbury’s (£169.40). 

Ocado was the most expensive of the bunch in January, costing a hefty £22.19 more than Asda for the same items. High-end Waitrose was also a pricey prospect at £181.66 on average.

Which supermarket was cheapest in 2020?

As well as analysing prices each month, we do a whole-year look each January - and, according to our analysis, Lidl was the cheapest supermarket in 2020. 

The discount supermarket was just 34p cheaper than its nearest rival Aldi for our trolley of 45 branded and own-label groceries. It was a hefty £26.02 cheaper than the most expensive supermarket, Waitrose.

  1. Lidl £42.67
  2. Aldi £43.01
  3. Asda £48.71
  4. Tesco  £53.30
  5. Morrisons £53.61
  6. Sainsbury's £56.38
  7. Ocado £66.83
  8. Waitrose £68.69

We tracked the prices of 45 branded and own label groceries - including Hovis bread, Knorr stock cubes, eggs, cucumber and tomatoes - listed in all eight major supermarkets for at least 100 days between January 1 and December 31, 2020. Of course, own-brand items aren’t exactly the same at different supermarkets, but we’ve used experts to ensure that the products are as comparable as possible, based on a range of factors including weight, quality and other industry data. 

Using an independent pricing data provider, we calculated the average price (including special offers but not multibuys) for each item throughout the year. We added those individual averages together to give an overall price for the trolley at each shop for 2020. 

Why did Lidl beat Aldi?

Given that Aldi was found to be the cheapest supermarket in more individual months than Lidl in 2020 (see below), you might be surprised that Lidl was named the overall cheapest for 2020. 

It all boils down to the items we were able to get prices for. We look at a huge range of food and household essentials but, for our whole-year analysis, we only included things that we could get at least 100 days’ worth of data for at all eight supermarkets. 

This meant that slightly different items ended up being included from those in our monthly summaries, enabling Lidl to swing it by just 34p.

Monthly supermarket pricing in 2020

December 2020

The cheapest supermarket in December 2020 was Lidl. Our trolley of 19 items cost £18.32 at Lidl. At the most expensive supermarket, Waitrose, it cost £27.26 for the same items. 

Here's how our trolley of groceries stacked up at each of the UK's biggest supermarkets:

  1. Lidl £18.32
  2. Aldi £18.35
  3. Asda £19.43
  4. Tesco  £21.20
  5. Morrisons £21.42
  6. Sainsbury's £23.53
  7. Ocado £24.75
  8. Waitrose £27.26

We also compared a shopping trolley packed with 86 items (the original 19 plus 67 more). This included a greater selection of branded items, such as Branston baked beans and Kleenex tissues, that aren't always available in the discounter supermarkets - so for this trolley, we weren't able to include Aldi and Lidl.

  1. Asda £157.41
  2. Morrisons £160.97
  3. Tesco £173.38
  4. Sainsbury's £173.38
  5. Ocado £179.61
  6. Waitrose £183.51

For this trolley of groceries, Asda was the cheapest at £157.41 and Waitrose the priciest at £183.51. 

November 2020

The cheapest supermarket in November was Aldi, with a small trolley of 22 items costing just £21.28, while Asda was the cheapest ‘big four’ supermarket, with our trolley rolling in at £23.94. At the other end of the scale, upmarket Waitrose was over £10 more expensive than Aldi, at £31.56. 

Here's how our trolley of groceries stacked up at each of the UK's biggest supermarkets:

  1. Aldi £21.28
  2. Lidl £22.16
  3. Asda £23.94
  4. Morrisons £24.39
  5. Tesco  £26.57
  6. Sainsbury's £27.50
  7. Ocado £29.34
  8. Waitrose £31.56

We also compared a shopping trolley packed with 89 items (the original 22 plus 67 more). This included a greater selection of branded items, such as Branston baked beans and Kleenex tissues, that aren't always available in the discounter supermarkets - so for this trolley, we weren't able to include Aldi and Lidl.

  1. Asda £165.42
  2. Sainsbury's £170.96
  3. Morrisons £173.02
  4. Tesco £177.16
  5. Ocado £190.91
  6. Waitrose £193.43

 Asda, at £165.42, was by far the cheapest of the traditional supermarkets. It was a staggering £28.01 cheaper than the most expensive supermarket, Waitrose. Grocery prices at Sainsbury’s, Morrisons and Tesco were similar, with just over £6 separating the three supermarkets.

October 2020

The cheapest supermarket in October was Aldi, with a small trolley of 32 items costing £27.13. Rival discounter Lidl was £4.46 more expensive - an unusually large difference between the two discounters. The same shop at Ocado cost £44.13, making it £17 more expensive than Aldi.

Here's how our trolley of groceries stacked up at each of the UK's biggest supermarkets.

  1. Aldi £27.13
  2. Lidl £31.59
  3. Asda £33.85
  4. Tesco  £35.17
  5. Morrisons £35.17
  6. Sainsbury's £37.44
  7. Ocado £43.67
  8. Waitrose £44.13

We also compared a trolley packed to the brim with 103 items (the original 32 items, plus 71 more). This included a greater selection of branded items, such as Branston baked beans and Flash cleaning spray, which aren't typically available all year round from the discounters – hence Aldi and Lidl not appearing in this chart.

  1. Asda £181.69
  2. Sainsbury's £189.18
  3. Tesco £199.76
  4. Morrisons £199.96
  5. Waitrose £210.43
  6. Ocado £211.49

Asda, at £181.69, was the cheapest supermarket for September and pipped its next-closest rival (Sainsbury's) by £7.50.

Ocado was the most expensive supermarket, with our trolley of groceries costing £211.49.

September 2020 

The cheapest supermarket in September was Aldi, with a trolley of 70 items costing £60.01 on average. 

This was the third month in a row that Aldi has won the battle to be named cheapest grocer. Waitrose – which parted ways with Ocado at the beginning of September and now only sells via its own website – was the most expensive supermarket, with our trolley of goods reaching £98.53. 

Here’s how much our trolley of 70 items cost, on average, at each of the UK’s biggest supermarkets:

  1. Aldi £60.01
  2. Lidl £63.66
  3. Asda £71.13
  4. Tesco  £78.28
  5. Morrisons £79.54
  6. Sainsbury's £82.29
  7. Ocado £95.81
  8. Waitrose £98.53

We also looked at a super-sized trolley of 150 items (the original 70 items plus 80 more). This included a greater selection of branded items, such as McVities Original Digestives and Lurpak spreadable butter. Some of the items in this trolley aren’t available all year round from the discounters, so we had to leave Aldi and Lidl out of this chart. 

  1. Asda £232.87
  2. Morrisons £245.54
  3. Tesco £249.09
  4. Sainsbury's £253.07
  5. Ocado £278.55
  6. Waitrose £283.57

Asda was the cheapest supermarket in this test, with the total bill £12.67 cheaper than nearest rival Morrisons. Compared with priciest supermarket Waitrose (£283.57), Asda shoppers could have saved a whopping £50.70. Asda was also the cheapest supermarket for a super-sized trolley when we checked in July and August.

August 2020 

The cheapest supermarket in August was Aldi, according to our research, in which we compared the prices of 74 grocery and household items. 

Our trolley of groceries cost an average of £66.45 at Aldi, but rival Lidl was hot on the discounter's heels at £67.17. 

Asda was the cheapest ‘big four’ supermarket, with our trolley rolling in at £74.12. Upmarket Waitrose was over £38 pricier than Aldi, at £105.25 for the same or equivalent items.

  1. Aldi £66.45
  2. Lidl £67.17
  3. Asda £74.12
  4. Tesco  £82.11
  5. Morrisons £84.73
  6. Sainsbury's £87.45
  7. Ocado £100.16
  8. Waitrose £105.25

We also compared a trolley packed to the brim with 165 items (the original 74 plus 91 more) at the traditional supermarkets. 

Asda, at £256.31, was by far the cheapest supermarket in our larger analysis – it was £15.41 cheaper than its nearest rival Tesco. Compared to priciest supermarket Waitrose (£322.87), Asda shoppers could have saved an eye-watering £66.55.

  1. Asda £256.31
  2. Morrisons £271.73
  3. Tesco £277.40
  4. Sainsbury's £281.17
  5. Ocado £304.61
  6. Waitrose £322.87

July 2020

Aldi was the cheapest UK supermarket in July, according to our analysis. We compared prices for a trolley of 85 items, including food, drink and household essentials.

On average, shoppers would have paid £78.50 at Aldi, which beat rival discounter Lidl by just 96p. At the other end of the scale, upmarket Waitrose was nearly £44 more expensive than Aldi, at £122.47.

  1. Aldi £78.50
  2. Lidl £79.46
  3. Asda £88.29
  4. Tesco  £98.48
  5. Morrisons £99.30
  6. Sainsbury's £103.26
  7. Ocado £117.85
  8. Waitrose £122.47

We also compared a super-sized shopping trolley packed with 167 items (the original 85 plus 82 more). This included a greater selection of branded items, such as Branston baked beans and Flash cleaning spray, that weren't available in the discounter supermarkets. 

Asda, at £271.03, was by far the cheapest of the traditional supermarkets. It was a staggering £41.25 cheaper than the most expensive supermarket, Waitrose.

  1. Asda £271.03
  2. Sainsbury's £278.06
  3. Morrisons £278.20
  4. Tesco £281.35
  5. Ocado £311.08
  6. Waitrose £312.28

June 2020

June saw the return of Aldi and Lidl to our analysis after a brief coronavirus-related pause (as we had temporarily been unable to send fieldworkers out to stores).

Unsurprisingly the discounters took the top two cheapest slots in the table. Lidl just pipped Aldi to be named cheapest, with a 21 pence difference between them. 

In this trolley we compared 78 items, a combination of own-label and branded groceries. Waitrose was nearly £40 more expensive for this shopping list than the discounters, at £111.77.

  1. Lidl £72.02
  2. Aldi £72.23
  3. Asda £80.15
  4. Tesco  £88.28
  5. Morrisons £90.27
  6. Sainsbury's £93.93
  7. Ocado £109.61
  8. Waitrose £111.17

We also compared a jumbo shopping trolley packed with 175 items (the original 78 plus 97 more), which included a greater selection of branded items available at the traditional supermarkets.

Asda, at £299.78, was by far the cheapest of the traditional supermarkets. It was a staggering £103.04 cheaper than online-only Ocado – the greatest difference in prices that we’ve seen to date.

  1. Asda £299.78
  2. Morrisons £312.38
  3. Sainsbury's £317.99
  4. Tesco £324.03
  5. Waitrose £367.19
  6. Ocado £402.82

May 2020

We were unable to include Aldi and Lidl when we checked May supermarket prices because of the coronavirus lockdown.

Of the grocers we were able to compare (Asda, Morrisons, Ocado, Sainsbury's, Tesco, and Waitrose), Asda was the cheapest supermarket, with a trolley of 178 items costing £279.54. 

Morrisons was the next-cheapest supermarket, but was still £14.64 more expensive than Asda. The same trolley of items at Waitrose was a hefty £62.74 more than at Asda, coming in at £342.28.

  1. Asda £279.64
  2. Morrisons £294.18
  3. Tesco £298.46
  4. Sainsbury's £298.46
  5. Ocado £332.13
  6. Waitrose £342.28

April 2020

We were unable to include Aldi and Lidl when we checked April supermarket prices because of the coronavirus lockdown.

Asda was the cheapest major online supermarket in April. We compared prices across 186 grocery items and found that, on average, shoppers would have paid £291.67 at Asda – £19.51 less than at Morrisons, its nearest rival.

Waitrose was the most expensive, coming in at £363.88.

  1. Asda £291.67
  2. Morrisons £311.18
  3. Tesco £314.90
  4. Sainsbury's £320.33
  5. Ocado £357.01
  6. Waitrose £362.88

March 2020

Aldi was the cheapest supermarket in March. A trolley full of 108 groceries and household essentials cost £111 at the budget supermarket – £2 less than at Lidl, its closest rival.

Of the larger supermarkets, Asda was cheapest, with shoppers paying £123 for an equivalent trolley of goods. Sainsbury’s came in third-most expensive for the month. Customers’ shopping would have cost £144 there; however, this was only slightly more than at Tesco (£140) and Morrisons (£143).

Waitrose was by far the most expensive supermarket, charging £175 for an equivalent selection of goods – a whopping £64 more than Aldi.

  1. Aldi £111
  2. Lidl £113
  3. Asda £123
  4. Tesco £140
  5. Morrisons £143
  6. Sainsbury's £144
  7. Ocado £167
  8. Waitrose £175

We also compared prices for a larger trolley of 193 products (the original 108, plus 85 more). This included more branded items, such as Dolmio bolognese sauce and Fairy Platinum washing-up liquid.

Aldi and Lidl were not included in this larger-scale analysis, due to the smaller and frequently changing range of branded goods they sell. 

Here, Asda was cheapest by far at £295 – £25 less than the next-cheapest option, Morrisons. Waitrose was priciest again, at £376 – an eye-watering £81 more expensive than Asda.

This was the first month we included both Aldi and Lidl in our pricing analysis. Previous baskets were based on a comparison of branded products only, but we listened to feedback from Which? members and added own-label items to our analysis (find out more at the end of this article). 

Basket prices earlier than March 2020 are based on a different methodology and are not comparable. 

  1. Asda £129
  2. Morrisons £320
  3. Sainsbury's £325
  4. Tesco £327
  5. Ocado £369
  6. Waitrose £376

January 2020

Asda started 2020 as the cheapest supermarket in our monthly price comparison, with a basket of 62 grocery items costing £121.11.

Shoppers at Tesco, once known for its value, would have paid £129.31 for the same basket of goods - that's more than Waitrose (£127.97) - making it the second-most expensive supermarket in January.

  1. Asda £121.11
  2. Sainsbury's £123.66
  3. Morrisons £126.36
  4. Waitrose £127.97
  5. Tesco £129.31
  6. Ocado £131.03

The same shop at online-only Ocado would have cost the most at £131.03, nearly £10 more than Asda.

Shopping at Sainsbury’s, the cheapest supermarket of 2019, would have cost £123.66 for the 62 groceries, while Morrisons shoppers would have paid £126.36.

Cheapest supermarkets 2014-2019

Which was the cheapest supermarket in 2019?

We tracked the prices of 53 popular products sold in the six online supermarkets across the whole of 2019, and found Sainsbury's was the cheapest. 

Our analysis included everything from Andrex toilet tissue and Heinz baked beans to Weetabix cereal and Sure deodorant. 

Sainsbury’s was the cheapest and Waitrose was the most expensive. 

  1. Sainsbury's £107.01
  2. Asda £107.65
  3. Morrisons £109.13
  4. Tesco £112.40
  5. Ocado £116.40
  6. Waitrose £117.81

Monthly supermarket pricing in 2019

Sainsbury's was the cheapest non-discounter supermarket in 2019. Here are the results by month, with the cheapest supermarkets highlighted.


AsdaMorrisonsOcadoSainsbury'sTescoWaitrose
January£144.49£148.40£154.69£148.16£151.10£156.28
February£143.50£140.51£155.80£131.73
£149.73£154.36
March£137.88£136.73
£150.62£139.37£141.97 £153.81
April£137.92£134.98
£148.54£137.78£143.33£150.34
May£132.60£127.48£139.45£127.03
£138.00£143.36
June£136.27
£141.98£153.14£137.23£145.04£158.06
July£139.37£141.11£149.64£138.12
£142.36 £151.66


Which supermarket was cheapest in 2018?

We tracked the prices of 77 popular products sold in the six online supermarkets across 2018, and, for the second year in a row, Morrisons was the cheapest. 

Our analysis included everything from biscuits and bread, through to tissues and toilet roll. Popular brands such as Kingsmill, Warburtons, PG Tips, Tetley and Andrex all featured in our basket.

  1. Morrisons £156.46
  2. Asda £157.99
  3. Sainsbury's £158.55
  4. Tesco £161.49
  5. Ocado £169.86
  6. Waitrose £170.79

While the rankings changed slightly each month, Morrisons was still the cheapest for six months of the year.

Waitrose and Ocado were the most expensive places to buy our basket of groceries for six months of the year each, but did they make up for it in other ways? Click the links to see how customers rated Waitrose and Ocado in our latest supermarket survey.

Which supermarket was cheapest in 2017?

We've given the average price of our comparison basket in 2017 below. 

  1. Morrisons £142.76
  2. Asda £142.80
  3. Tesco £146.29
  4. Sainsbury's £147.66
  5. Ocado £153.36
  6. Waitrose £154.01

Which supermarket was cheapest in 2016?

We've given the average price of our comparison basket in 2016 below. 

  1. Asda £154.14
  2. Morrisons £160.19
  3. Sainsbury's £162.11
  4. Tesco £164.37
  5. Ocado £170.35
  6. Waitrose £172.27

Which supermarket was cheapest in 2015?

We've given the average price of our comparison basket in 2015 below. 

  1. Asda £156.17
  2. Morrisons £160.94
  3. Sainsbury's £164.33
  4. Tesco £164.37
  5. Ocado £169.32
  6. Waitrose £170.89

Which supermarket was cheapest in 2014?

We've given the average price of our comparison basket in 2014 below.

  1. Asda £179.35
  2. Tesco £190.33
  3. Sainsbury's £191.17
  4. Ocado £194.18
  5. Waitrose £196.33