At 2.4 we still stayed with our boy until he fell asleep. We can't do the crying thing either. Some nights one of us would have to stay with him for up to an hour.
But DS is 3.1 now and for the last month has been going to sleep on his own. One night DH decided he was going to leave the room after saying goodnight and just go back in occasionally if DS didn't settle. To start with DS would call out and DH would go in and give him a kiss and a quick cuddle and say 'be back in a minute', this would happen a few times and eventually DS would feel asleep on his own. After three days DS was saying 'Night night' rolling over and going to sleep.
We have been amazed how he has adapted. And without any tears or upset. To be honest, we think he was just ready.
He doesn't have naps any more, unless in the car, in which case we try to make sure it's not too late in the day. He's in bed having a story by 7.15 and asleep by around 7.30 now. This morning he woke up just before 6am, if he sleeps too late in the morning he doesn't want to sleep at night.
Perhaps try that approach OP? Just say you're going into your bedroom or wherever, or potter about folding laundry or something so he knows you're still about, when your DS calls out go back in, give him a kiss and a little cuddle then say 'back in a minute'. Be prepared to do it as many times as it takes at first. If he's ready maybe he'll catch on. If he gets too upset leave it for a while and try again another time.
Good luck.