Try beginning a new night-time routine and stick to it like glue. Have him run around and get played out after dinner. Then an hour before bed, turn off all the lights in the house and make it quiet time for sitting on the couch, reading books, watching TV, singing nursury rhymes, etc. A half hour before bedtime go to his room, get him ready for bed, get things ready for the next day for daycare or set clothes out. Get him in bed, read 1 book or sing 1 song. Then lay down with him. During the night-time routine, keeps the lights dim and noises very soft. Perhaps put on a fan, radio static, or put nursury rhymes playing very softly in the background. Sometimes white noise helps them stop listening to small sounds around them and lulls them to sleep.
After he is with the routine, start making the time you lay down with him shorter and shorter. Then try just sitting beside the bed and patting his back or holding his hand instead of laying beside him. Then after a week or two, try just sitting beside him while he falls asleep. After a couple weeks try laying him down, tucking him in and saying good night. Some parents put two baby gates on top of each other in the doorway to keep toddlers from wandering around the house at night.
I've noticed the harder my kids play, the more sleepy they are, and the more cranky they are at night. The crankier they are, the quicker they fall asleep.