Had that exact same thing for the longest time, was essentially forced to do all-dayers if I went to sleep too late one night as from that point onward, I wouldn't be able to fall asleep any earlier which sucked. Granted, most of the issue was caused by me having poor self control, no real sleep set-in-stone sleep schedule or anything like it (except when school or work required it).
However, I did manage to fix it by making a very simple change, and that is to wake up at the exact same time every single day and do not sleep in. No sleeping in (you can lay in for like 30 mins if you want but avoid closing your eyes or just play music to prevent falling asleep), no "not setting your alarm clock at the weekend to sleep longer", just choose a single time to base your life on and wake up at that time every single day no matter what (in my case it's 6 am).
Now, I don't know your brain chemistry or whatever but for me it worked almost instantaneously.