Shame he's nearly grown out of them and I've bought new ones in the next size.
I found a bottle of Vanish liquid and put it on the stains (probably for more than the recommended 10 mins, owing to DD screaming her head off and weeing on the sofa). Then I used bio and (though I doubt this is related) put them on to wash and dry with DD's wet sheets (such fun).
They are white again and all the jam and tomato is gone plus some of the whiteboard pen and poster paint.
I'm buying shares in Vanish now.