MoneyWatch this thread
This is an excellent question and very relevant since the cost of living is steadily rising. My best advice would be to save a small amount of money weekly/monthly. So every week or month put aside £5/£10/£20 however much you can and don't touch it. Open a savings account and deposit in there if you can. If you do take a risk and delve into that money, replace it the next month - if you put £10 in every month and decide to spend £5 from that store, put £15 in the next month so you are replacing what you have spent.
When you see something you want, ask yourself if you really need it. Maybe come back to it a day later and see if you still want it, or if it was a spur of the moment want.
Hope this helps,