With a little planning ahead, most things you want to buy don't really need to be bought the day you get them. To block impulse shopping, reserve your spending for one designated weekday.
As personal finance site Mixed Up Money explains, the mere act of having structure can keep you from going on an ebay-fuelled shopping bender, or from eating out because you're bored. An easy way to accomplish this is to only spend money on one out of the five weekdays. On Monday you go grocery shopping, so you don't need to buy food (read: Eat out) for the rest of the week. If you want to buy something, wait til Monday to give yourself time to decide if you really need it. Or you can pick the day that's most convenient for you:
This might sound hard, but in reality, it's extremely easy. I keep myself busy with activities and plans during the week that are cost-free or I have already paid for. I leave one weeknight open for gas, grocery, and dining out experiences. Before I had this rule I was always spending for such lacklustre reasons. I was bored, I was hungry (because I was bored), I didn't want to make dinner tonight, and I needed to go see a new movie. Well that's changed. Because I make my breakfast, lunch, and dinner every day, I am saving so much more than the average full-time employee.
This plan still leaves open the possibility of spending for fun on the weekend, so you don't have to become a hermit who never goes out. However, it also helps curb unnecessary spending just because you're bored on a Tuesday. It also forces you to plan ahead, which should hopefully help you make better financial decisions.