Forgive and Forget => You need to understand that it is a normal human action to procrastinate. This doesn't mean you will keep procrastinating instead, it means that you should dwell on the past and keep moving on.
Dr. Piers Steel, a Distinguished Research Chair at the University of Calgary, is a procrastination expert (and that does not mean that he is really good at procrastination).In his book, The Procrastination Equation142, he presents an equation that explains your current level of motivation to accomplish something:
(Expectancy * Value)
(Impulsiveness * Delay)
Expectancy: How confident you are that you can actually get this thing done
Value: How much this task means to you.
Impulsiveness: How easily you give into temptations
Delay: How long you have to wait before you received the expected rewards of completing the task.
So, to stop procrastination, tune these parameters in your life and optimize by efficiency.
Take control of your environment => Make if free of distractions and keep the 20 sec rule and activation energy principle in mind, to learn more, read this answer161 by me which explains these concepts.
Use the pomodoro technique => This is an awesome technique to divide your time into small, manageable chunks. In this, you work in blocks of 25 mins and then take a break of 5 mins. Take note of all the distractions and thus try to reduce them in breaks. To learn more, refer to this article169 by college info geek (I know this is a site for students but this will help you).