14 benefits for Which? members
Dodge Don't Buys, get personalised advice and shop smart with the Which? app – how many great perks could you make use of today?
Find out moreBy clicking a retailer link you consent to third-party cookies that track your onward journey. If you make a purchase, Which? will receive an affiliate commission, which supports our mission to be the UK's consumer champion.
Every month, we compare thousands of prices at eight of the UK's major supermarkets – Aldi, Asda, Lidl, Morrisons, Ocado, Sainsbury’s, Tesco and Waitrose – to reveal the cheapest supermarket to buy your food, drink and household essentials from.
Aldi has been the cheapest supermarket every month this year so far, closely followed by Lidl – but how do big chains such as Tesco and Sainsbury's compare, and does being a member of a loyalty scheme make a significant difference to the overall cost of a basket of groceries?
Read on to find out the latest results of our supermarket price comparison.
Aldi was the cheapest supermarket in October, charging £111.66 on average for our shopping list of 62 branded and own-label groceries. Fellow discounter Lidl was very close behind, at just 41p more if you have its Lidl Plus loyalty app (£112.07), or 67p if not (£112.33).
Tesco was the cheapest of the traditional supermarkets - our shopping cost £122.26 if you have a Clubcard, and £125.09 if not.
Waitrose was the most expensive supermarket at £142.39 - 28% more than Aldi.
The table below shows the average cost of our shopping list. Lidl, Morrisons, Sainsbury's and Tesco offered loyalty discounts on some of the items in our basket, so we've calculated the cost for members and non-members.
Supermarket | Average price for 62 items |
Aldi | £111.66 |
Lidl with Lidl Plus | £112.07 |
Lidl | £112.33 |
Tesco with Clubcard | £122.26 |
Tesco | £125.09 |
Asda | £125.26 |
Sainsbury's with Nectar | £125.93 |
We also compared the average cost of a larger selection of 164 popular items - the original 62 plus 102 more. We were unable to include Aldi and Lidl in this price comparison as our larger shopping list has a wider selection of branded items, which were unavailable at the discounters.
Asda was the cheapest for our longer shopping list at £418.71. Tesco was the second-cheapest at £422.54, but only when Clubcard discounts are factored in.
Waitrose was the priciest supermarket again (£461.10) - our shopping cost 10% more than at Asda.
Supermarket | Average price for 164 items |
Asda | £418.71 |
Tesco with Clubcard | £422.54 |
Morrisons with More | £428.32 |
Sainsbury's with Nectar | £429.21 |
Morrisons | £448.55 |
Tesco | £449.99 |
Ocado | £454.56 |
Aldi was the cheapest supermarket in September, charging £102.68 on average for our shopping list of 59 branded and own-label groceries. Lidl was very close behind, at just £1.18 more (£103.86).
Supermarket | Average price for 59 items |
Aldi | £102.68 |
Lidl | £103.86 |
Asda | £112.19 |
Tesco (with Clubcard) | £112.96 |
Tesco (without Clubcard) | £113.35 |
Sainsbury's (with Nectar) | £113.79 |
Morrisons | £119.18 |
Asda was the cheapest for our longer shopping list at £418.88, but only beat Tesco by a penny when Clubcard Prices are included (£418.89).
Supermarket | Average price for 164 items |
Asda | £418.88 |
Tesco (with Clubcard) | £418.89 |
Sainsbury's (with Nectar) | £421.16 |
Morrisons | £446.76 |
Ocado | £452.02 |
Tesco | £452.92 |
Waitrose | £459.45 |
Aldi was the cheapest supermarket in August, charging £110.58 on average for our shopping list of 62 popular groceries. Lidl was close behind, at just £1.30 more if you had a loyalty card (£111.88) or £1.59 more if not (£112.17).
Supermarket | Average price for 62 items |
Aldi | £110.58 |
Lidl (with Lidl Plus) | £111.88 |
Lidl (without Lidl Plus) | £112.17 |
Asda | £121.85 |
Tesco (with Clubcard) | £123.13 |
Tesco (without Clubcard) | £123.62 |
Sainsbury's (with Nectar) | £123.75 |
Asda was the cheapest supermarket for our longer shopping list of 165 items at £424.51, beating Sainsbury's with Nectar by £3.59.
Supermarket | Average price for 165 items |
Asda | £424.51 |
Sainsbury's (with Nectar) | £428.10 |
Tesco (with Clubcard) | £430.15 |
Morrisons | £440.50 |
Tesco (without Clubcard) | £455.15 |
Ocado | £455.73 |
Sainsbury's (without Nectar) | £463.43 |
Aldi was the cheapest supermarket in July, charging £113.87 on average for our shopping list of 63 popular groceries. Lidl was close behind, at just £2.37 more (£116.24).
Supermarket | Average price for 63 items |
Aldi | £113.87 |
Lidl | £116.24 |
Asda | £125.61 |
Tesco (with Clubcard) | £127.50 |
Sainsbury's (with Nectar) | £129.81 |
Tesco (without Clubcard) | £130.27 |
Morrisons | £133.28 |
Asda was the cheapest supermarket for our longer list, at £427.35, beating Tesco with a Clubcard by just £2.86.
Supermarket | Average price for 169 items |
Asda | £427.35 |
Tesco (with Clubcard) | £430.21 |
Sainsbury's (with Nectar card) | £435.05 |
Morrisons | £445.81 |
Ocado | £460.61 |
Tesco (without Clubcard) | £460.90 |
Sainsbury's (without Nectar card) | £468.42 |
Aldi was the cheapest supermarket in June, charging £118.41 on average for our shopping list of 65 popular groceries. Lidl was close behind, at £2.90 more (£121.31).
Supermarket | Average price for 65 items |
Aldi | £118.41 |
Lidl | £121.31 |
Tesco (with Clubcard) | £130.90 |
Asda | £131.42 |
Sainsbury's (with Nectar card) | £132.90 |
Tesco (without Clubcard) | £134.30 |
Sainsbury's (without Nectar card) | £137.51 |
For those shopping with a Clubcard, Tesco was the cheapest supermarket (£439.58) for this bigger shopping list of 174 items.
Supermarket | Average price for 174 items |
Tesco (with Clubcard) | £439.58 |
Asda | £442.12 |
Sainsbury's (with Nectar card) | £446.84 |
Morrisons | £461.83 |
Ocado | £474.18 |
Tesco (without Clubcard) | £475.08 |
Sainsbury's (without Nectar card) | £483.92 |
Aldi was the cheapest supermarket in May, charging £121.56 on average for our shopping list of 69 popular groceries. Lidl was close behind, at £3.32 more (£124.88).
Supermarket | Average price for 69 items |
Aldi | £121.56 |
Lidl | £124.88 |
Asda | £137.91 |
Tesco | £138.84 |
Sainsbury's | £142.33 |
Morrisons | £144.36 |
Ocado | £147.64 |
Asda was the cheapest supermarket for this bigger shopping list (£461.98), while Morrisons came in second place.
Supermarket | Average price for 177 items |
Asda | £461.98 |
Morrisons | £472.90 |
Tesco | £490.56 |
Ocado | £491.87 |
Sainsbury's | £499.12 |
Waitrose | £505.36 |
Aldi was the cheapest supermarket in April, charging £112.90 on average for our shopping list of 67 popular groceries. Waitrose was the most expensive supermarket at £144.13 - 28% more than Aldi.
Supermarket | Average price for 67 items |
Aldi | £112.90 |
Lidl | £115.23 |
Asda | £126.98 |
Tesco | £128.17 |
Sainsbury's | £131.02 |
Morrisons | £134.87 |
Ocado | £136.86 |
Asda was the cheapest supermarket for our bigger shopping list of 181 groceries. We were unable to include Aldi and Lidl in this comparison as they don't stock enough of the branded items on our list.
Supermarket | Average price for 181 items |
Asda | £461.67 |
Morrisons | £483.87 |
Tesco | £493.99 |
Ocado | £494.64 |
Sainsbury's | £503.71 |
Waitrose | £514.98 |
Aldi was the cheapest supermarket in March, charging £121.06 on average for our shopping list of 71 popular groceries. Lidl was close behind, at less than £2 more (£122.95).
Waitrose was the most expensive supermarket at £158.52 - a whopping 30% more than Aldi.
Supermarket | Average price for 71 items |
Aldi | £121.06 |
Lidl | £122.95 |
Asda | £138.31 |
Tesco | £139.23 |
Sainsbury's | £143.48 |
Morrisons | £145.19 |
Ocado | £148.18 |
Asda was the cheapest supermarket for our bumper shopping list of 184 groceries. We were unable to include Aldi and Lidl in this comparison as they don't stock enough of the branded items on our list.
Supermarket | Average price for 184 items |
Asda | £468.90 |
Morrisons | £485.49 |
Tesco | £497.13 |
Ocado | £505.83 |
Sainsbury's | £508.99 |
Waitrose | £517.17 |
Aldi was the cheapest supermarket in February, with a list of 72 popular groceries costing £125.43 on average. Lidl came in a close second, at less than £3 more expensive (£128.19).
Supermarket | Average price for 72 items |
---|---|
Aldi | £125.43 |
Lidl | £128.19 |
Asda | £140.51 |
Tesco | £143.51 |
Sainsbury's | £147.78 |
Morrisons | £151.73 |
Ocado | £153.47 |
Asda was cheapest when we compared a larger selection of groceries - the original 72 plus 113 more. Lidl and Aldi weren't included in this comparison due to their limited ranges of branded items.
Supermarket | Average price for 185 items |
---|---|
Asda | £460.34 |
Morrisons | £488.46 |
Ocado | £497.51 |
Tesco | £498.10 |
Sainsbury's | £509.16 |
Waitrose | £522.70 |
Aldi was the cheapest supermarket in January, with our shopping list of 72 items costing £129.24.
Supermarket | Average price for 72 items |
---|---|
Aldi | £129.24 |
Lidl | £132.37 |
Asda | £145.75 |
Tesco | £149.11 |
Sainsbury's | £153.50 |
Morrisons | £156.05 |
Ocado | £157.15 |
We also compared a larger selection of groceries - the original 72 plus 116 more - and found that Asda was the cheapest supermarket based on a larger sample size including more branded products.
Supermarket | Average price for 188 items |
---|---|
Asda | £475.06 |
Morrisons | £496.68 |
Ocado | £504.82 |
Tesco | £506.12 |
Sainsbury's | £516.82 |
Waitrose | £519.43 |
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. We then add up those averages to get a total for each retailer. We include special offers and, since June 2024, loyalty prices where applicable, but not multibuys.
We can’t include the value of points, personalised discounts or other rewards as these vary from customer to customer.
Products on our list include everything from Heinz baked beans and Mr Kipling cakes to own-label milk, bread and cheese.
Our data is supplied by an independent price comparison company. For stores that don't have online prices we send fieldworkers out to gather prices.
The master list of 200 products is currently updated annually but otherwise remains constant. However, the specific products chosen from the master list vary from month to month depending on availability. This means the totals aren't comparable between months or years.
Dodge Don't Buys, get personalised advice and shop smart with the Which? app – how many great perks could you make use of today?
Find out moreWe checked the price of a basket of groceries at the UK's biggest supermarkets every day throughout 2023, and announced the results each month.
Aldi was the cheapest supermarket for 11 months of the year, officially making it the cheapest supermarket of 2023 according to our analysis.
Lidl was the second-cheapest supermarket for the same 11 months, but narrowly beat Aldi to the top spot in October.
Waitrose was the most expensive supermarket for our basket in every month of 2023.
In our analysis of a bigger trolley of goods, in which we don't include Aldi or Lidl due to their smaller product ranges, Asda was the cheapest supermarket every month but one.
Morrisons scooped the winning spot in July.
Waitrose was the most expensive for a big trolley-full every month except September, when Sainsbury's was priciest for the first time (for shoppers not using a Nectar card).
Our analysis includes discounts that are available to everyone, but not multibuys or loyalty prices such as Clubcard or Nectar prices, where you only get the discount if you're a member of a loyalty scheme. This is because not everyone is able to join a loyalty scheme. You can read more about our research further down the page or by clicking here.
The results for each month of 2023 are below.
Aldi was the cheapest supermarket in December overall, with our list of 43 groceries coming in at £74.83 on average.
Supermarket | Average basket price |
---|---|
Aldi | £74.83 |
Lidl | £76.74 |
Asda | £84.21 |
Sainsbury's | £84.54 |
Tesco | £84.86 |
Morrisons | £87.24 |
Ocado | £89.28 |
We also compared the cost of a larger list of 131 items (the original 43, plus 88 more), for which Asda was cheapest at £326.77 on average.
Supermarket | Average trolley price |
---|---|
Asda | £326.77 |
Morrisons | £336.41 |
Ocado | £346.23 |
Tesco | £349.34 |
Sainsbury's | £354.06 |
Waitrose | £367.79 |
Aldi was the cheapest supermarket in November, knocking Lidl off the top spot – our basket of 47 items cost £76.77.
Supermarket | Average basket price |
---|---|
Aldi | £76.77 |
Lidl | £77.56 |
Asda | £84.42 |
Tesco | £87.42 |
Sainsbury's | £87.79 |
Morrisons | £89.54 |
Ocado | £93.40 |
For our larger analysis, including a mix of 134 branded and own-brand items, Asda was the cheapest once again this month (£328.15), followed by Morrisons which was £10.01 more expensive.
Supermarket | Average trolley price |
---|---|
Asda | £328.15 |
Morrisons | £338.16 |
Tesco | £354.53 |
Ocado | £356.78 |
Sainsbury's | £360.26 |
Waitrose | £369.80 |
Lidl was the cheapest supermarket in October, with our shop costing £74.58, beating discounter rival Aldi by just 17p.
Supermarket | Average basket price |
Lidl | £74.58 |
Aldi | £74.75 |
Asda | £82.11 |
Tesco | £85.34 |
Sainsbury's | £85.88 |
Morrisons | £86.35 |
Ocado | £90.37 |
Asda was the cheapest for our larger trolley of 135 items, continuing its reign as the cheapest big supermarket and beating beating second-placed Morrisons by £10.98.
Supermarket | Average trolley price |
Asda | £328.42 |
Morrisons | £339.40 |
Ocado | £354.54 |
Tesco | £358.08 |
Sainsbury's | £364.61 |
Waitrose | £378.08 |
Aldi was the cheapest supermarket in September, with our shop costing £67.72, beating discounter rival Lidl by £1.24.
Supermarket | Average basket price |
Aldi | £67.72 |
Lidl | £68.96 |
Asda | £75.42 |
Tesco | £78.74 |
Sainsbury's | £78.95 |
Morrisons | £79.70 |
Ocado | £82.80 |
We also compared the cost of a larger trolley of 131 items (the original 39 plus 92 more).
Asda was cheapest, while – for shoppers not using a Nectar card – Sainsbury's was the most expensive for the first time. It was £33.52 pricier than Asda on average, with a trolley-full costing £359.23.
Supermarket | Average trolley price |
Asda | £325.71 |
Morrisons | £332.22 |
Ocado | £349.79 |
Tesco | £350.41 |
Waitrose | £355.51 |
Sainsbury's | £359.23 |
Aldi was the cheapest supermarket in August overall, with our shop costing £65.21, pipping its discounter rival Lidl to the post by £1.32.
Supermarket | Average basket price |
---|---|
Aldi | £65.21 |
Lidl | £66.53 |
Asda | £71.48 |
Tesco | £74.00 |
Sainsbury's | £74.12 |
Morrisons | £75.37 |
Ocado | £79.38 |
Asda was the cheapest for our larger trolley of 133 items, returning to its reign as the cheapest big supermarket after being pipped to the post by Morrisons in July – the first time another supermarket earned the title since January 2020.
Supermarket | Average trolley price |
Asda | £325.35 |
Morrisons | £341.28 |
Tesco | £352.86 |
Ocado | £353.81 |
Sainsbury's | £359.41 |
Waitrose | £369.04 |
Aldi was crowned the cheapest supermarket for the 14th consecutive month, with our basket of 38 groceries costing £71.22 on average.
Supermarket | Average basket price |
---|---|
Aldi | £71.22 |
Lidl | £72.60 |
Asda | £78.65 |
Tesco | £79.59 |
Sainsbury's | £81.06 |
Morrisons | £82.00 |
Ocado | £86.26 |
Morrisons ended Asda’s as the cheapest traditional supermarket for a larger trolley of products. Our big shop at Morrisons cost £341.92 on average.
Supermarket | Average trolley price |
---|---|
Morrisons | £341.92 |
Asda | £342.14 |
Tesco | £360.97 |
Ocado | £367.96 |
Sainsbury's | £370.54 |
Waitrose | £376.66 |
Aldi was the cheapest supermarket for the 13th month in a row, with a basket of 42 items costing £75.25 on average.
Supermarket | Average basket price |
Aldi | £75.25 |
Lidl | £77.18 |
Asda | £82.55 |
Tesco | £82.67 |
Sainsbury's | £83.46 |
Morrisons | £85.98 |
Ocado | £89.20 |
For our larger trolley of 134 grocery items, Asda continued its long-running streak as the cheapest traditional supermarket – a title it's held since January 2020.
Supermarket | Average trolley price |
Asda | £332.40 |
Morrisons | £334.47 |
Sainsbury's | £341.40 |
Tesco | £349.35 |
Ocado | £354.90 |
Waitrose | £363.99 |
Aldi was the cheapest supermarket for the 12th month in a row, with our basket of 40 products costing £68.60 on average.
Supermarket | Average basket price |
Aldi | £68.60 |
Lidl | £70.51 |
Asda | £76.45 |
Sainsbury's | £77.13 |
Tesco | £77.56 |
Morrisons | £79.09 |
Ocado | £83.90 |
For a larger trolley of 131 grocery items, Asda continued its long-running streak as the cheapest traditional supermarket.
Supermarket | Average trolley price |
Asda | £332.40 |
Morrisons | £334.47 |
Sainsbury's | £341.40 |
Tesco | £349.35 |
Ocado | £354.90 |
Waitrose | £363.99 |
Aldi was the cheapest supermarket in April, with a basket of 39 items costing £69.99 on average. It beat rival discounter Lidl by 65p.
Supermarket | Average basket price |
Aldi | £69.99 |
Lidl | £70.64 |
Sainsbury's | £76.85 |
Asda | £77.92 |
Tesco | £78.09 |
Morrisons | £81.46 |
Ocado | £83.69 |
For a larger trolley of 135 grocery items, Asda continued its long-running streak as the cheapest traditional supermarket:
Supermarket | Average trolley price |
Asda | £343.46 |
Sainsbury's | £353.96 |
Morrisons | £355.84 |
Tesco | £365.77 |
Ocado | £374.53 |
Waitrose | £382.22 |
Aldi was the cheapest overall, with a basket of 41 items costing £72.54:
Supermarket | Average basket price |
Aldi | 72.54 |
Lidl | 72.79 |
Sainsbury's | 80.27 |
Tesco | 81.58 |
Asda | 81.88 |
Morrisons | 83.63 |
Ocado | 88.03 |
Asda was cheapest for a big trolley of 137 items:
Supermarket | Average trolley price |
Asda | £343.91 |
Sainsbury's | £353.16 |
Morrisons | £354.87 |
Tesco | £366.65 |
Ocado | £371.85 |
Waitrose | £385.74 |
Aldi was cheapest for a basket of 43 items:
Supermarket | Average basket price |
Aldi | £74.81 |
Lidl | £77.50 |
Sainsbury's | £85.25 |
Tesco | £85.32 |
Asda | £85.81 |
Morrisons | £89.01 |
Ocado | £89.96 |
Asda was cheapest for a trolley of 139 items:
Supermarket | Average trolley price |
Asda | £355.29 |
Sainsbury's | £358.77 |
Morrisons | £371.86 |
Tesco | £376.95 |
Ocado | £382.54 |
Waitrose | £396.58 |
Aldi was the cheapest supermarket for a basket of 45 groceries:
Supermarket | Average basket price |
---|---|
Aldi | £82.03 |
Lidl | £84.07 |
Tesco | £93.80 |
Asda | £95.32 |
Sainsbury's | £95.65 |
Morrisons | £96.58 |
Ocado | £100.87 |
For a big trolley of 144 items, Asda was cheapest:
Supermarket | Average trolley price |
---|---|
Asda | £363.29 |
Sainsbury's | £375.84 |
Tesco | £376.72 |
Morrisons | £379.13 |
Ocado | £392.43 |
Waitrose | £408.72 |
According to our analysis, Aldi was the cheapest supermarket in 2022.
The discounter was the cheapest in our analysis for seven out of 12 months in 2022, which was more than any other supermarket.
Lidl wasn't far behind, coming out cheapest in the first five months of the year.
Across the seven months that Aldi was the 'cheapest supermarket of the month', the average difference was £1.59 compared with Lidl.
Asda was the cheapest of the non-discounters, coming out on top every month across 2022.
According to our research, Aldi was the cheapest supermarket in 2021.
It won the 'cheapest supermarket of the month' title six times that year – more than any other supermarket. Lidl came top for five months and, for one month, the two discounters were tied.
At the other end of the scale, Waitrose was most expensive each month.
Lidl was the cheapest supermarket in 2020. The discounter was just 34p cheaper than its nearest rival Aldi for our trolley of 45 branded and own-label groceries.
It was £26.02 cheaper than the most expensive supermarket, Waitrose.
Prior to 2020 we were unable to include Aldi and Lidl in our analysis, and only looked at Asda, Morrisons, Ocado, Sainsbury's, Tesco and Waitrose. The overall cheapest supermarkets for each year between 2014 and 2019 were: