It is much easier to resist spending money when you aren't presented with the opportunity.
There are a quite a few ways to do this.
Here are my ideas:
1. Leave the house with only enough money to buy the essentials.
2. Let someone else do the shopping
3. Go with them, but lock your purse in the trunk.
4. Only bring in the coupons so you don't have cash to spend
5. Give yourself permission to spend some trivial amount like $5. You can then go crazy using coupons and rewards, just not with "real" money.
6. Don't leave the house
7. Go shopping less times per week
8. Only go to the stores that you have to go to, not the stores you want to: or the opposite.
9. Learn to be creative
10. Make challenges with yourself or friends (or bets) and