In our house, dinnertime has always been dinnertime. Not playtime. No tv, no distractions, just the plate in front of you. I worked for families as a nanny long before I became a mom, and saw that when toys/distractions (books, tv) were added at mealtimes, meals often became disjointed, with the kids saying "I'm hungry" about an hour later or so.
You need some new, consistent rules.
1. No toys/distractions (books, tv--anything that keeps us from focusing on eating) in the kitchen at mealtimes. Make a clean sweep before you start dinner. Let him know "no toys in here right now. You can play in the living room." (My rule in my house is no toys in the kitchen, period. That's my workspace.)
2. Have dinner at the same time each night. If you are offering a snack before dinner to tide him over, make it veggie sticks, almonds, some apple slices... just a little, and always healthy choices.
3. Sit down together. YOU eat your own food while he's eating. Do not feed him. He is a big boy now, and he feeds himself. Talk about dinner, the day, how you are enjoying your meal.
4. Explain, before the meal each and every night for a while (because he'd learning a new routine) "This is our dinner time. I'm going to eat my dinner. You will eat your dinner. When you get down, your food is all gone for today. No cereal later."
5. When he gets down, remind him "Be sure your tummy is full. This is dinner. No snacks later on." Then ask once, right then: "Do you want to eat a little more?" and let his actions be your guide.
6. When he gets down, immediately clear his plate. Don't make a big deal out of it, just do it calmly.
7. Then, stick with your plan. Later when he asks for cereal, just remind him "eating time is all done".
Unless a child is going through a growth spurt-- or unless you are eating dinner several hours before bedtime-- most kids are fine with going to bed without cereal or extra snacks. (If you must offer a snack, then offer something healthy and wholesome.)
The problem I have seen with the cereal is that both kids and parents use it as a fallback. The kid who doesn't care for dinner might not eat much because they rely on having the yummy stuff later on. The parent who is struggling with that kid will use the cereal because it's easy for them. We don't want to feel bad about sending our kids to bed hungry when *they* chose not to eat at dinnertime. Kids need to learn to eat what's served and *when* it is served;your kitchen is not a restaurant.
The first few days will be tough, but this is one of those times when you do not want to cave in and give your son *your* authority in the situation. He will challenge you on this. It doesn't mean he's starving, it just means that it's not convenient for him. :) When my son fiddles around at the table and is mad that we're all done and he's still asking for more food, I say "yes, you can have more food at breakfast time". It's great that you are addressing this now-- I've seen it go on for much longer with some families and it was maddening to watch. And if he loves cereal, offer him an extra bowl as a morning or early afternoon snack. Make sure he's hungry when he comes to the table, too. In our home, afternoon snack for my five year old is at 2:30-3 or so, and dinner is served around 5:45-6ish.
And be good to yourself during this time, too. It's hard to break bad habits, and it's so good you are wanting to do it now while he's still young. Good luck!