Aloha is right, don't give a full lunch, just a snack, then you can give dinner at the normal time....it's always possible to get largely back on track even if the day seems to have gone pear shaped.
If your ds is like mine and many others, don't let him sleep past 3, and then you will be able to get him to bed at a normal time.
If you want my idea of what might help, I think he probably would thrive if he gets up at around the same time each day whether that's 6, 7 or 8am....if as you say he has a breastfeed in the morning, don't expect him to eat a huge breakfast; a small breakfast and a snack mid-morning, followed by his lunch at 12ish or 1ish, then I would try him for a nap pretty much straight after lunch so that he is content enough to sleep....again, a small snack when he wakes, then dinner at whatever time you like 4, 5 or 6pm.....I'd always allow plenty of time for a bath and bedtime stories even at this age, as it's good winding down time for him and you......
Obviously I'm only suggesting a basic structure but it's one that worked for me and saved me having too many of those days where as you say everything goes pear shaped....
one major plus for me was that a regular daytime nap gave me time alone to get my sanity back, clear the decks, make dinner ready for later (or sit and watch telly!) I became very attached to my routine as it gave me time to myself in the day.....