First thing, don't replace one habit with another - for example, by rocking him to sleep you'll continually have to do it - plus he will not learn to put himself to sleep. Are you familiar with the Ferber method? Do a google search, if not. Essentially, what it means is you put your son in his own bed, awake, and leave him - even if he's crying. You allow him to cry for a set amount of time (I started with 3 minutes - which will seem like an eternity), then you go in, settle him as quickly as possible, then leave - if he cries again, allow him to cry for 6 minutes this time. Back in, settle, out & allow to cry for 9 minutes...You get the picture! This may take several hours, so maybe a weekend night is best to start this - because once you start, you can't give up - this will just teach him that if he keeps crying, you'll give in & he'll get his way! But then on night 2, it will probably take less time, night 3, less again, and so on, and so on. I'll tell you, it's absolutely heartbreaking, but remember you are doing this for the well-being of all of you!! Hang in there & good luck!