Human nature is a tough thing to break. Which is why I resort to trickery.
All of my finances, except for buying groceries and the like, are entirely automated. Making changes in any of my system involves delays of up to a month, and I know this. After doing my budget out, I figured out exactly how much I need to cover expenses, plus a little extra (about $25). Everything else goes into the 401k/IRA, and an emergency fund that is very annoying to access.
Result? I have tricked myself into paying all of my bills on time, investing in my future, saving for emergencies, and feeding myself, all without really having to think about it. At the same time, when I want something, I have no option but to save and scrimp in areas of my working budget to afford it. It's as if I have tricked myself into believing the other money does not exist.