Have to agree with twiglett here. He's trying you out, to see how far he can push things. Even giving in once gives him hope it might work again next time! He knows he's getting to you!
As vivat says, having a reward in place can work wonders, but maybe have it available the next morning (like a favourite breakfast treat or a sticker/stamp if he stays quietly in his room all night).
There are lots of other threads on this...I know it takes a while to ream thru them though.
Here's what I have from PPP on toddler sleep problems:
-develop your routine and stick to it (no extra stories etc) NO MATTER WHAT.
-make sure he knows what the routine is (you can even make a little poster with pictures!) including no calling out and staying in his room until morning
-let him know about half an hour before bedtime that it is coming soon - this can be storytime
-give him 10 minutes to do what he needs to do (teeth, toilet, teddy etc)
-go through the "checklist" or use the poster - have you had your story, done teeth, been to the toilet, said goodnight, got/had a drink.
-when you leave, ignore any more requests or complaints. Tell him if he stays quietly in his room without calling out, you will come back and check he is okay. Tell him if he calls out or cries, you will not answer him, even if he shouts. Also tell him if he comes out of his room, you will put him back to bed. BUT let him know if he stays in bed all night without calling out, there will be surprise in the morning (the sticker or whatever).
-wait 2 minutes. If he stays quietly in bed, return and praise him quietly, "You're doing really well lying quietly in your bed" etc. Stay no more than 30 seconds. Repeat this again after 5 minutes, gradually extending the time between visits.
-if he calls out or cries, do not say anything and do not go back into his room. You must ignore him and be prepared to let him cry himself to sleep.
-if he comes out of his room, stay calm and immediately march him back (or carry him if you have to!) Tell him if he comes out again you will shut his door. (And make sure you actually do if he comes out again or he won't believe you next time!)
The first time you do this will be hell but can it really be any worse than what you have now? Stick with it and remind yourself you are helping him go to sleep independently and making both your lives easier and less stressful in the long run! Good luck.