too tired to eat too hungry to sleep.

During the day our son sleeps great, eats great. He will sleep for hours, then eat for 20 to 30 to 40 minutes no problem. But late at night he wakes up hungry, we put him on the best, he eats for a while then falls asleep! We put him to bed, and he wakes up 16 to 20 minutes later hungry! This repeats for hours till some how he eats enough to sleep for an hour. Then we get back on track. How can we stay on track?