Shopping with a list keeps me from impulse shopping. I've disciplined myself to only buy what is on my list. Sometimes, I run into some good sales, and I substitute something on my list for the sale items, but I don't get both.Shopping with a list is critical! Also, if there is more than one person in the household, the person who is best at sticking to the list (and who is willing to take time to compare prices, read labels, etc.) should be the one who does the shopping. Avoid taking children to the store -- they tend to beg for stuff, and it's usually nothing healthy. (My daughter loves Whoppers, LOL!)
I didn't have toilet paper, dish detergent, shampoo, or any other toiletries on my list -- those would obviously be an additional cost. Someone with very short hair could probably just wash their hair with soap, and it is possible to brush your teeth with baking soda or salt. Doesn't taste as nice, but it can be done. And a basic homemade laundry detergent works pretty well and is quite a bit less expensive than store-bought. The more stuff you add to it, the more expensive it's going to be.
I restock my pantry every two weeks. During those two weeks, I keep a list on my kitchen counter. As I use an item out of the pantry, I write that item down. That keeps me on track, and organized. No unnecessary spending. I have enough variety in the pantry to just keep buying the same items over and over. If Cary and I want a change from time to time, we go out to eat. I still save money in the long run.