Paraphrasing pg, going in to work and wasting 90% of your time is like getting uncontrollably drunk at lunch. It's very bad habit/behavior/addiction. So first of all, take it seriously.
Here's some things that work/have worked for me, in no particular order. They all interact and work best in bunches. None have cured me. All have helped.
1. meditation - many meditation practices develop your ability to prevent your mind from wandering. Letting your mind wander is a big part of procrastination. It also helps with patience which is also important.
2. Recognize the impulse and address it - This is very complimentary to meditation. You sit down to do a task, then your mind looks for some sort of procrastination (reading, games). Recognize that feeling and feel it. Don't fight it, just experience it for a few seconds. Then place your hands flat on your desk. Your feet flat on the ground. Straighten your back. Breath deep 5 times. The impulse should pass. Tweak this as you like as long as you recognize the impulse, experience it & have a little ritual (sitting straight, breathing, etc.)
This sounds like hippy dippy bullshit said out loud, but it doesn't feel half as lame when you do it. It is very effective.
3. Collaboration - If two people are at a computer, procrastination does not go on for hours. More generally, try to seek out work less procrastination-inducing.
4. Do work in small batches - Take 5 minute breaks every hour. etc. This increases the feedback to you that you are procrastinating.
5. Talk about it.
6. Accountability mechanisms - Your ability to hide is an enabler. Try timed screenshots sent to a friend. Twice daily 2 minute confessional phone call to a friend. Mirror your screen someplace it can be seen by everyone. Coaching sessions. Lots of options. Quirky is ok.
7. Drugs - ADD medication (eg ritalin) can help.
8. Sleep - Less Sleep = More Procrastination. Maybe you need more sleep. Maybe you need 10 hours. everyone is different. Try getting 10 hours for one week and see if it helps.