He needs to feel superior. He is confrontational to prove himself, he needs to "win" to feel he is better than everyone and validate himself.
If you call hiss bullshit he'll probably go into denial (sooner or later). He can also become depressive, or even more aggressive. Those are defense mechanisms. They are triggered in confrontational situations, the "fight or flight" instinct. Men usually fight, women usually flight. Best option is for him to actually feel good about himself, as people "at the top" do not belittle the little people, as it would mean they feel threatened (and, as such, are afraid, meaning they're not as strong as the other).
Best way imho is to be friendly to him, and when he belittles someone, instead of confronting him, you approach tangentially, making him feel he would be even "more superior" if he helped. This way he will be validated by his experience and by his understanding.
For example, "man, you don't need to go that far. I mean, you've [been doing this for a long time]/[studied a lot]/[put a lot of effort], you must have made some mistakes too. And you're [one of the best]/[probably the best]/[an awesome] developer. If you could give us some tips sometimes, II bet we'd become an even greater team. :D"
And obviously, whenever you can, praise stuff his done well and ask for opinions. Can be on conceptual stuff or whatever, just help him feel "validated" for his good points and he will naturally shift to a less confrontative behavior, plus he will focus on the stuff that got people to like him.
He should do therapy btw, but suggesting this will probably make things worse. If nobody can make this work, all the good devs will end up leaving, and the company will be left with people that have no other options... Not a good place to work at, unfortunately.