I had the same issues with my daughter but she started at 18 months. The problems continued until she was 25 months when we finally took her to the Children's Hospital of Pediatrics in Philadelphia to their sleep center. There she was screened (non-invasively and with her father and me present) by a multitude of doctors to rule out anything physical. For her it was deemed a behavioral issue. We purchased the goodnitelite.com which is a night light with a sun and a moon. You program what time of night you would like the moon to turn on (we set ours at 6:40pm for at the time was a 7:00 bedtime and had her upstairs at 6:30pm to start her routine). When they see the moon turn on they know bedtime is imminent. The moon will stay on all night, although after 2 hours it gets dimmer, until you program when you want the sun to turn on. You need to initially set the timer for when you KNOW he will be awake (reasonably) so he knows that there WILL be a changeover. (We initially set ours at 4:00am even though there were a few times she would get up for the day at 3:30 ). The psychologists at CHOP taught me how to be "robot mom". Every time my daughter woke up before her sun, I would open her door and say "Your moon is up, it's time to sleep. I love you. I will see you when your sun is up." I would say NOTHING more. If he is getting out of bed you calmly walk him back to bed (even if it takes 100 times before he stays there, even if he is kicking and screaming, you stay calm and keep walking him back into bed.) You follow this until his sun is up. We taught my daughter to say, "Mommy, my sun is up, come get me please." When her sun was up (no matter how early the timer is set for) we would praise her for "sleeping" until her sun came up, take her downstairs, and allow her to begin her day. Every few days, once they learn to respect the "sun", you set the timer back 15 minutes until you reach the time of morning when it is acceptable for them to be awake for the day. It took us about 3 months until he were ok with her sun coming up at 6am.
Now, with all that, it does sound like he had been getting a lot of sleep prior to this change (lucky you!) Does he still require a nap? My daughter is now 4 and definitely still needs a nap (she naps about one hour a day but we have also pushed her bedtime back since she was 18 months to 7:30/7:45pm and her sun still comes up at 6am.). If she doesn't nap she turns into a little monster and will also pass out the second we get in the car to get anywhere and then don't even think about waking her up!!! If he still needs a nap but you would like his ultimate wake up time to remain the same maybe set his bedtime a bit later like 8/830. We knew to keep my daughter's sun set to 6am because most mornings I would hear her talking nicely to herself around 5:30/5:45 but she would stay in her room calmly waiting for her sun, so we knew we couldn't push the timer back beyond 6am if we expected her to continue to stay calm in her crib/now bed.
Best of luck and if you have any further questions about this process please feel free to contact me. (If you purchase a goodnitelite you can also purchase a book for your child that is age appropriate for a 3 year old that explains why sleep is important and incorporates the concept of the sun and moon.)