Soup That Behaves Like Pudding: Our Own-Brand Carb Audit of Britain's Big Four
Photo: Wolfmann, CC BY-SA 4.0, via Wikimedia Commons
The Mission: 50 Products, Four Supermarkets, One Spreadsheet
There's a certain kind of person who reads the back of a tomato soup carton in the middle of Tesco Extra on a Tuesday afternoon. That person, apparently, is us.
For this audit, the KetoBase team visited Tesco, Sainsbury's, Aldi and Lidl and logged 50 own-brand staples — the everyday items most of us chuck in the trolley without a second glance. Soups, yoghurts, sauces, 'protein' pots, ready meals, that sort of thing. We recorded carbs per 100g and per typical serving, flagged added sugars, and ranked the lot.
Fair warning before we start: a few of these results genuinely surprised us, and not always in the way you'd expect.
How We Judged
Simple rules. If a product clocked in at 5g carbs or fewer per 100g, it earned a green light. Anything between 5g and 15g got an amber — workable with careful portions. Above 15g? Red, and usually for good reason.
We also noted where sugar was sneaking in under an alias. Maltodextrin, dextrose, concentrated fruit juice — the food industry has more names for sugar than Britain has words for rain.
The Shock Offenders
'Healthy' soups. You'd think a chicken and vegetable soup would be safe territory. Not always. Several own-brand versions we checked carried 8–11g of carbs per serving, thanks largely to thickening agents and, in some cases, a genuinely generous helping of sugar. One popular 'skinny' soup contained more carbs per bowl than a slice of wholemeal toast. Let that sink in.
Protein yoghurts. The protein craze has been a gift for keto-adjacent shoppers, but read the label carefully. Some of the big own-brand protein yoghurts are sweetened to the hilt — we found examples with 9–13g carbs per pot. Others, notably Lidl's and Aldi's high-protein skyr-style pots, came in far leaner at around 5–7g. Same aisle, wildly different outcomes.
Tomato ketchup and cooking sauces. No great shock here, but the numbers still sting: a sweet chilli stir-fry sauce from one big-four own brand delivered nearly 30g of carbs per serving. That's a full day's allowance for many keto followers, spent on sauce.
The Quiet Heroes
Now the good news — and there's plenty of it.
Aldi's mayonnaise came in at effectively zero carbs and undercuts the branded equivalent by half. Lidl's full-fat cream cheese is a meal-prep workhorse at pennies per portion. Both Tesco and Sainsbury's sell solid own-brand Greek-style yoghurt (full fat) at around 4g carbs per 100g — perfect with a handful of berries.
Other green-light finds: Aldi's ready-cooked chicken breast slices, Lidl's own-brand dry-cured bacon, Sainsbury's frozen spinach and Tesco's tinned sardines in olive oil. None of these are marketed as 'keto' anywhere on the packaging. They don't need to be. They're just honest, cheap, low-carb food that's been sitting on the shelf the whole time.
The League Table, Abbreviated
A quick snapshot of our top and bottom performers:
Top of the class:
- Aldi mayonnaise — 0g carbs, brilliant price
- Lidl full-fat cream cheese — 2g per 100g
- Tesco tinned sardines in olive oil — 0g
- Sainsbury's Greek-style full-fat yoghurt — 4g per 100g
- Aldi cooked chicken slices — under 1g per serving
Bottom of the pile:
- Own-brand sweet chilli cooking sauce — nearly 30g per serving
- 'Skinny' vegetable soup — 11g per bowl, plus added sugar
- High-sugar protein yoghurt — 13g per pot
- Own-brand baked beans — 15g per half tin (alas)
- Low-fat fruit yoghurt — 17g per pot, sugar masquerading as health
What This Means for Your Trolley
Three takeaways from six supermarket visits and one very tired spreadsheet.
First, 'healthy' branding means nothing. The words 'skinny', 'light' and 'balanced' are marketing, not nutrition. The carb count lives on the back, in small print, where the sugar aliases hang out.
Second, the discounters are quietly brilliant for keto. Aldi and Lidl won more green lights per product than either of the Big Two, and they did it while being cheapest. If your weekly budget is tight, the German duo deserve first refusal on your list.
Third, whole foods beat engineered ones. Tins, frozen veg, full-fat dairy, plain meat and fish — the unglamorous basics consistently outperformed anything with a health claim splashed across the front.
We'll be publishing the full 50-product table as a downloadable sheet next week. Until then, consider this your permission slip to ignore the front of the pack entirely — and a nudge to check that soup before it checks you.