As Christmas adverts dominate our television screens, our thoughts are understandably turning towards Christmas dinner preparations.
But which supermarket is the cheapest?
I’ve run the numbers and Tesco came in cheapest according to my sums, allowing someone to feed a family of six for £21.73 or roughly £3.62 per person.
Morrisons was second cheapest with a total bill of £22.70, followed closely by Lidl (£22.95).
Waitrose was perhaps unsurprisingly the most expensive place to buy Christmas dinner at £43.35 or £7.23 per person.
Here’s a look at how all the various prices added up, but please note some of these items I’ve included may not be on sale until later in December.
How did I calculate prices?
I’ve looked at what you'd need to buy for a typically generous Christmas dinner, complete with turkey, all the trimmings and dessert.
The recommended portions should be enough for six people and prices for the turkey are based on frozen ones.
I’ve provided the cost of the items according to weight and calculated the price for two six-packs of mince pies and two 12-packs of pigs in blankets (to accommodate six people)
Where I haven’t found the exact same weight at a supermarket, I’ve included a note in brackets to indicate the amount of each item you'd need to buy to feed you and your guests, even if it means leftovers.
For Christmas puddings, I have specified whether you may need to buy two as some supermarkets only offer a smaller size that would only feed four people.
To find out how each supermarket performed overall, check out the table below, which is ranked from the cheapest to the priciest Christmas dinner.
Cheapest Christmas dinner by supermarket
Supermarket |
Total price |
Price per head (six people) |
Tesco |
£21.73 |
£3.62 |
Morrisons |
£22.70 |
£3.78 |
Lidl |
£22.95 |
£3.83 |
Asda |
£25.96 |
£4.33 |
Aldi |
£26.80 |
£4.47 |
Sainsbury's |
£29.91 |
£4.99 |
Waitrose |
£43.35 |
£7.23 |
How it breaks down
Here's how the individual supermarket prices compare, just in case you want to go for individual items – the cheapest of each product is in bold.
The overall cost for each supermarket shop was calculated by combining the prices of all the items and then divided by six to figure out the price per head.
In some cases, the price for loose vegetables was used if it was cheaper than the pre-packaged version.
In cases where a product is on an offer that is due to expire shortly, I’ve added a disclaimer to indicate this.
To avoid having to make the table too small, I’ve split the table in two. Supermarkets are listed in alphabetical order to make it easier to find your favourite.
Item |
Aldi |
Asda |
Iceland |
Lidl |
Turkey (approx 4kg) |
|
£12.45 * |
|
£8.99 |
Potatoes (1kg) |
65p |
50p |
£1.50 |
£1.15 |
Brussels sprouts (1kg) |
85p |
£1 ** |
£2 |
£1.86 |
Parsnips (750g) |
80p |
67.5p |
£1.75 |
84p |
Carrots (1kg) |
41p |
43p |
£1 |
41p |
Stuffing (170g) |
29p |
32p *** |
£2 |
30p |
Cranberry sauce (200g) |
45p |
59p |
£1 |
49p |
Christmas pudding (800g) |
£9.99 |
£4 |
£4.50 |
£3.38 |
Pigs in blankets (two x 12 pack) |
£3.58 |
£3.96 **** |
£4 |
£3.98 |
Mince pies (2 x six-packs) |
79p |
£1.74 |
£2 |
£1.55 |
Total price |
£26.80 |
£25.67 |
£32.75 |
£22.95 |
*Available from 11/12
** Original price £1.10
*** Original price 35p
**** Price for two packs. Original price £2.50 per pack.
Item |
Morrisons |
Sainsbury's |
Tesco |
Waitrose |
Turkey (approx 4kg) |
£9 * |
£14 |
£9 |
£22.75 |
Potatoes (1kg) |
75p |
64p |
83p |
£1.50 |
Brussels sprouts (1kg) |
99p |
£2 |
£1.18 |
£1.40 |
Parsnips (750g) |
90p |
86p |
68p |
£1 |
Carrots (1kg) |
41p |
41p |
41p |
50p |
Stuffing (170g) |
45p |
70p |
40p |
£1 ****** |
Cranberry sauce (200g) |
70p |
£1 |
49p |
£1 |
Christmas pudding (800g) |
£4 |
£4.50 |
£3 |
£6 |
Pigs in blankets (approx 24) |
£4 |
£4 |
£4 |
£6.20 |
Mince pies (two packs of six) |
£1.50 |
£1.80 |
£1.74 |
£2 |
Total price |
£22.70 |
£29.91 |
£21.73 |
£43.35 |
* Original price £13
** Original price £1.40. Available until 08/12
*** Original price £1 per pack. Available until 08/12
**** Original price £12. Clubcard customers only.
***** Original price £2. Clubcard customers only.
****** Original price £1.40