Once the week's meals have been roughly planned, it is worth pausing before the shopping list is finished to compare that plan against what is already sitting in the cupboard. Skipping this step often means buying things that were never actually missing in the first place.
Go through the plan meal by meal, checking off the ingredients that are already available and leaving only the genuine gaps on the list. This takes only a few minutes but can noticeably shorten the final list, along with the total spent at the till.
Do the comparison at a fixed point each week
Building this comparison into the same moment each week, rather than doing it only occasionally, turns it into a reliable habit rather than an extra task that gets skipped when things are busy. Right after the plan is drawn up tends to work well, while the meals are still fresh in mind.
This habit also helps reveal ingredients that have been sitting unused for a while, since seeing them next to the new plan often sparks an idea for how to work them into one of the week's meals instead of buying something new.
Keep a small torch or good light source handy for checking the back of deep cupboards, since items are easily missed in poor lighting. A thorough check, rather than a quick glance, makes the whole comparison far more reliable.
With the plan and the cupboard compared properly before the list is finished, shopping becomes noticeably more accurate. Less is bought without reason, and what is already at home gets used before it has the chance to be forgotten.