
Adapted from Which Magazine June 2026
Tinned fish is a simple, affordable way to boost your intake of high quality protein and nutrients including vitamin D and B12. Oily fish are also high in omega-3 fats which are essential for heart, immune and lung health.
Mackerel, sardines, and salmon are the top three fish for dietary omega-3s. From 80 tins of fish, Which researchers found that the best sources seem to be mackerel, then sardines, then salmon. It should be noted that mackerel is being overfished.
Fish in tomato sauce or spring water are lower in calories and salt than those in sunflower oil or brine. Richly sauced options such as sweet chilli flavour, were found to have high amounts of added sugar and salt.
Eating “with bone” varieties give more calcium. Smaller fish species such as sardines naturally accumulate less mercury than bigger fish like tuna.
The UK government recommend at least two portions (140g) of fish a week, one of which should be oily. The NHS advises that girls and women planning a pregnancy should not eat more than two portions of oily fish a week. Everyone else can have up to four portions of oily fish a week.
Which’s top picks are:
Mackerel: Sainsbury’s Taste the Difference smoked Scottish mackerel with black pepper. This contains 4,700mg of omega-3 per 100g and costs £3.20 for a 110g tin.
Sardines: Fish4ever sardines in organic piri piri sauce contains 4,200g per 100g and costs £3.35 for a 120g tin from Ocado.
Salmon: Marks and Spencer’s wild Alaskan red salmon contains 2,000mg of omega-3 per 100g. This costs £.3.65 for a 213g tin and Sainsbury’s wild pacific red salmon contains the same omega-3 and costs £3.50 for a 212g tin.