Solution 1: Dad Handles Bedtime
Since you've already said that it was easy for you for a while to put him to bed without mom sleeping with him, I'd suggest giving this a go. Make sure you've got the optimal set-up going first. Get a good bedtime routine going, keep the lights low and voices quiet, and allow your son to choose a book or two and his own pajamas and a stuffed animal (sometimes giving a child some choices at bedtime helps them feel like they're more in control of the situation). Then tell him that he needs to stay in his bed and sleep. Be firm, because this is not optional. The minute you let him think he has a choice, he's going to make one and it's probably not the choice you want him to make. After you've told him this, kissed him goodnight and tucked him in, then leave the room.
If he seems insecure or cries as you are leaving, you can verbally reassure him that you're just down the hall but that he has to stay in bed. Then exit the room. I do not suggest completely shutting the door of an insecure child, but I don't think it should be left open completely either, unless you can ensure that noises and lights will not distract him from sleeping. Keeping the door open just a crack is good: It allows him to faintly hear you and feel your presence and it also allows you to check on him later in an unobtrusive way.
Here comes the hard part. If he gets out of bed then you must take him and physically put him back in bed. It's best to do this without talking, arguing or making a big production out of it. If he senses that your voice is going up an octave and you are desperately reassuring him ("It's all right buddy, there's no need to cry, oh baby why are you crying, it's all right, daddy's here, don't worry...") then he's not going to be hearing your words, but rather your tone, which is one of alarm and stress rather than calm and reassurance. So, without a word, just put him back in bed. Don't be rough or angry, but do be firm.
You might be able to put him back into bed and exit the room and he will get the point that it's time for sleeping and you mean business. If so, lucky you! Most of the time, however, since he already has a different habit established and you've given in to him in the past, he's going to test you to see if you really mean what you're saying. So, mean it! Keep taking him back, over and over again until he stays.
If he chases you out of the room immediately instead of waiting until you're out of the room to get out of bed, you'll have to take a little bit of a different tactic. In this case, I advise sitting on the floor or setting up a chair in the room. Be close to the bed (to physically reassure him of your presence and so that you can easily place him back without overexhausting yourself) but you should not get in the bed or allow him to sit in your lap or be out of the bed. You also should only tell him one time that you are going to sit right there and that he has to stay in his bed. Then do not do any more talking and just wait him out. Do not go to sleep on the floor next to his bed or get into the bed, no matter how tempting it may be. When he's asleep, leave the room.
You can expect, realistically, that the first week of this method is going to be the hardest, but it's also the most important in terms of consistency and following through on the limit you've set. You can also expect, that when done properly, it shouldn't take longer than 2-3 weeks for this new sleep habit to become established. The best part is that after the first week, there will be a steep drop in the amount of time it takes for your child to accept the limit and go to sleep. Each day gets easier after that, so don't give up too soon because you think it's not working. It will be three of the most difficult weeks of your parenting life thus far, probably, but the dividends are so sweet. You'll look back on this time and wish you'd done it sooner.
Solution 2: Mom Handles Bedtime
The next way to handle the situation is to put Mom in charge. Is there anything different in the way that Mom should handle bedtime as described above? Not at all. Mom should follow all the same steps and be just as consistent. The problem here is that it sounds like Mom is the one who tends to cave in to the tears at your house. I totally understand this. Not to stereotype or anything, but we moms respond to the cries of our babies. It's what we do. It's our job. There's science behind it and it doesn't just shut down one day when our babies aren't babies any more.
So, Mom needs to face this fact and steel herself for some very difficult nights and Dad needs to understand that it's going to be a tougher road for her than it would be for him. You can help her out by telling her you understand how hard it is and giving her all the support she needs. When she emerges from that room, be ready for her with a foot rub, a cup of decaf tea and some reassuring words. Let her tell you all about how impossible it seems and let her cry about it if she needs to. Pat her on the back for a job well done.
Solution 3: Tag Team Bedtime
If you're both on the same page and are ready to really teach your child the meaning of "United we stand, divided we fall" then tag team bedtime. Nothing sends a clearer message that a boundary has been set in place that must not be crossed than when both parents are there backing each other up all the way. Just make sure you both stick to the plan or your tag team will turn out to be more like "good cop, bad cop." (That always works on Law and Order but seldom in a house with kids under 5.)