The only way to control this is to stick to a budget. You must be willing to make a budget amount and stick with it. One of the easiest ways to do this is to keep your budget reasonable. If you know that you need to spend at least $100 a week on groceries, don’t set your budget for $50. It will not work. You can try it for a while, but you will continue to fail. In this case, set your budget for $100, or even for $120. If your budget is too strict, it is just too hard to stick with it.
Another way you can stay on budget is by limiting your trips to the store. If your budget is $150 a week, plan two trips to the store each week and limit the amount you spend to $75. This is a great way to stick on budget.
I am an advocate of shopping at least twice a week. I feel like if I limit myself to once a week, I am always running out of things. I also like lists. As soon as I realize that I will need a certain product within a few days, it goes on my list. You can stick with your budget amount by buying only the items that you need and that you will use.