OP, if your DS is autistic, you are going to have to learn an awful lot of calming techniques for yourself before you can get anywhere with him.
My XH didn't manage to do this, and I left him because of it.
IME the very worst thing you can do with an ASD child is rant and scream and be angry with them. It might make you feel better if you're the angry type, but it won't have the effect you want. Your DS will just not "get" it. He will, though, find your anger incomprehensible and frightening, and will not make any link between your feelings and what he said to his classmate.
With these sorts of things, I'm afraid, you just have to keep plugging away, very calmly. "We don't make comments about the colour of other people's skin". If he asks why not, then something clear is called for ("because it is rude to make comments about other people's skin colour"). Social stories can be useful here.
There is also some inconsistency in your post. High functioning autism is a world unto itself, and tends to mean a person is super-brilliant in some ways (academically, musically etc) but less skilled in others (normally socially). Is this what you are talking about?
It's also a shame that you describe the less academic children in your son's class as "thick". You presumably don't use these kinds of derogatory terms in front of your son?