I used to get some valerian and camomile from a herb shop and make a tea from them and drink i before i went to bed. Valerian can make you a bit groggy first thing too.
It can become a psychological thing as well, maybe something like hypnotherapy could help you to break it?
Relaxation is important as can be routine. Get lots of fresh air and exercise, cardio and relaxing such as yoga which could help and maybe some meditation.
Eat well and heathily, not right before bed but so you're body isn't preoccupied being hungry or dehydrated. Avoid stimulants before bedtime such as caffine or alcohol and foods which are hard to digest.
Set a time limit before a routine bedtime so your body gets used to winding down. Avoid tv and such and just spend say half an hour to an hour winding down, maybe reading something light, pampering (I always have a good skincare routine so I feel fresher going to bed). Make sure your routine involves doing everything that will mean you won't have to get up again such as having some water ready if you want it, making sure your place is secure, turning things off etc... A glass of hot milk can help.
Make your sleeping conditions more relaxing and comfortable, redecorate your bedroom in calm relaxing colours, buy some new really comfortable bedding and nightwear, make it a treat to go to bed. Make sure you're not too hot or cold, that your room isn't too light or noisy etc... or that there are other distractions.
Make it somewhere you enjoy curling up and relaxing so even if you can't sleep straightaway you're comfortable and relaxed there. Use it fmainly for sleep only so your body knows it's bedtime. Try to avoid watching tv, eating and such there.