By clicking a retailer link you consent to third-party cookies that track your onward journey. This enables W? to receive an affiliate commission if you make a purchase, which supports our mission to be the UK's consumer champion.
Wars of the Roses (and Quality Streets): best Christmas chocolates revealed

It's official: Roses should be first choice for nut fans while Quality Streets are great for solid-chocolate purists, according to new Which? research.
Our hard-working experts have spent hours counting chocolates from M&S, Sainsbury's and Waitrose, as well as Nestle and Cadbury.
Here, we reveal the best chocolate selection tubs to buy based on flavour and price.
Nuts or caramels? Best chocs by flavour
We bought five brands of variety tubs and sorted the chocolates into the following flavour categories:
- Fudges, toffees and caramels
- Fruit and coffee cremes
- Solid chocolate
- Chocolates with nuts and praline
We then counted how many of each type of choc the different brands offered, and calculated the proportion of flavour types for each brand.
The results, below, show that if nutty chocolates and pralines are your favourite, you should opt for Cadbury Roses this Christmas. That's because nut-filled chocs make up over a quarter (28%) of the contents of the famous blue tubs.
If fudges and caramels are more your bag, go for the M&S Big Selection, which contains a hefty 51% of these sugary treats.
Nestle Quality Streets offer the highest quota of both solid chocolates (21%) and fruit and coffee cremes (37%), while Waitrose's Christmas Chocolate Favourites don't offer any solid chocolates at all.
Chocolate selections compared
Find out more: the best mince pies of Christmas 2019
Which Christmas chocolate tub offers the best bang for your buck?
If you're more concerned about bang for your buck than which flavours you're most likely to find, Quality Street and Sainsbury's Chocolate Treats come in cheapest.
Both tubs are currently available at £3.50 for 650g - that's 54p per 100g - provided you buy the Quality Streets from Asda or Morrisons, where they've been reduced from £4.
Chocolates | Price | Cost per 100g (based on cheapest price) |
Cadbury Roses (600g) | £4 (Asda), £5 (Co-op, Morrisons, Sainsbury's, Tesco) | 67p |
M&S Big Selection (650g) | £4.25 | 65p |
Nestle Quality Street (650g) | £3.50 (Asda, Morrisons), £5 (Sainsbury's, Tesco) | 54p |
Sainsbury's Chocolate Treats (650g) | £3.50 | 54p |
Waitrose Christmas Chocolate Favourites (600g) | £6 | £1 |
Prices checked using MySupermarket and retailer websites on 16 December 2019.
- Find out more: the truth about Christmas chocolate packaging
What's your favourite Christmas chocolate?
We surveyed more than 1,000 Which? members last year to find out their favourite chocolates in different branded variety boxes.
When it came to Quality Streets and Roses, hazelnuts in caramel were by far the most popular choice: 30% of respondents said this was their favourite Cadbury Rose flavour, while Nestle Quality Streets' equivalent - known simply as 'The Purple One' - was number-one choice for 26% of our respondents.
Looking at the contents of the chocolate variety tubs we bought this year, a 600g tub of Roses consistently contained six hazelnuts in caramel out of 58 chocolates in total (that's 10% of the tub). In fact the make up of every Roses tub we looked at was exactly the same.
Quality Streets varied much more, with the three 650g tubs we looked at each containing a different number of 'purple ones' (four, five or six out of a total of 67 to 69 chocolates, or 6%-9% of the tub, depending on your luck).
- Find out more: what's in the perfect Christmas chocolate tin?