First off, I would say to cut back his naps to only 2 a day... one in the AM and one in the PM.
Secondly, push his bedtime back a little till about 8:30 - 9:00, depending on when you go to bed and get up in the morning.
Third, does he eat cereal right before he goes to bed? Fill him up so he doesn't wake up in the middle of the night because he's hungry.
Fourth, sometimes babies don't sleep through the night at this age. Some babies do, some don't. However, if you can deal with it, let him cry himself to sleep. He will eventually and will then "forget" to wake up and want to eat in the middle of the night. Because he will know that the midnight snack is no longer available to him!
Is his bedroom dark? I know my one year old son will sleep longer in the mornings when his room is dark. I didn't train him like that, that's just how he is. Might be that too...
Wish you all the best in finding some sleep!