For many years, even when I was with exdh, I have always done a meal plan for the week. It is NOT set in stone, but that, coupled with doing a sort of feezer inventory from time to time, really helps. Also try to bulk cook where possible, and freeze any left overs. (Have just put the remains of yesterdays beef casserole into the freezer, only a portion for one, but hey!)
It means that the shopping list is based on the meals, plus any other things that we need, and things that will actually make meals,but of course if I see bargains, (esp. reduced to sell stuff that can be frozen) I grab them.
Store cupboard wise, always a fair amount of pasta in different shapes, tinned chopped tomatoes, tinned ratatoullie (very useful, helps to bulk up a casserole or stew, can make a great pasta sauce with a few added ingredients, or the basis of a vegetable curry), part baked bread.
A couple of years ago we couldn't get out of the village due to snow. For the first few days the village shop managed to supply most of what we needed, but then they ran low as the suppliers couldn't get to them! I became very good at stretching things, a lonely steak in the freezer was sliced up and turned into a sort of mock stroganof, the odd portion of smoked fish and the tail end of a bag of prawns became a fish soup, served with one of the part baked baguettes from the cupboard.
Luckily I tend to keep a good stock of cat food, I might easily have had a mutiny on my hands!