I strongly agree with Debbie. I had the same problem with my son for a very long time. Since I have started taking him to bed latest 7 pm with halve an hour story time so that he goes to sleep latest 7:30 he is fine. If I am too late, even if he took a nap until 5:30, he won't go to sleep til around midnight, if he is tired or not. If I miss the early bedtime by only few minutes I have ruined my quiet evening and he will be up. It really is a matter of hit or miss.
Just try it for a week or so and see if it would work for you (I allowed my son to be awake and look at books if he could not sleep, but he had to stay in bed)