C.B.
You set a time limit. If he's going to be pokey about it, take it away. You decide if it's straight to bed, or whatever he would do before bedtime. Be careful not to reward him for inappropriate behavior. But absolutely no snacks, in any case. He has to understand that you gave him food, he took way too long to eat it and it got cold. Try 15 minutes after you're done eating and clearing up. Maybe he'll get hungry too often and finish in a reasonable time frame. No snacking. Or offer him what he left; cold or warmed up. With a time limit again. Or just wait until the next meal and see if he starts making some changes. Tell him beforehand that if he wants to watch TV after breakfast, for instance, that he's got to finish his food within the time frame set. Otherwise no dice.