Asda crowned cheapest supermarket in 2016
Which? research found that a basket of 80 popular items at Asda cost on average £154.14 across the year, followed by Morrisons at £160.19.
Sainsbury's was the next cheapest at £162.11, followed by Tesco (£164.37), Ocado (170.35) and Waitrose (£172.27).
German discounters Aldi and Lidl were not included as they do not sell enough of the branded products in the basket.
The watchdog monitored the cost of popular branded products using data from independent shopping website MySupermarket to work out the average price.
It found that Asda was consistently cheaper, coming out the best value in 11 out of 12 months.
Which? magazine editor Richard Headland said: "With increasing concern over rising food prices, our research shows that some supermarkets are consistently cheaper than others for popular branded items.
"It could be worth switching supermarkets, or shopping around, if you want to trim your shopping bill."