A.M.
At 21 months this is going to be tough to break. Sleep training should start at about 2 months. Even though I breastfed my daughter I tried hard not to let her fall asleep at my breast. Not to say that there weren't nights I rocked her to sleep. That's one of the great joys of parenthood. But doing it every night for hours can be difficult. They need to learn at a young age how to soothe themselves.
I don't recommend cold turkey. Try the Ferber method. It will be tough at first but it works. Start with the same routine every night and then lay him down. Go in after 2 minutes, then 5 minutes, then 10 minutes then 15 minutes. From there, go in every 15 minutes. When you go in smile reassuringly, don't speak at all (except maybe the first time you go in to explain again, very calmly and soothingly, that it's bedtime) and lay him back down (without picking him up). The first night might take 2 hours, the second an hour and the third should take less then 1/2 hour. You'll both feel better because you're checking on him and he'll eventually give up, knowing his crying isn't working. If you think he needs it stay in the room with him for a little while the first night but tell him that he needs to pay down (maybe stand by the crib and rub his back for a while). Reassure him that you'll be right outside the door but that you won't be back for a few minutes. By night 6 or 7 you'll be able to just say that you have to go tell daddy something or use the potty and by the time you go check on him he'll be asleep.
Good luck. I know this is a tough obstacle. This too shall pass! : )