Bit long for a comment, so posting this as an answer... You may find this piece enlightening:
http://www.simplypsychology.org/robbers-cave.html
It basically summarizes a famous social psychology experiment. Researchers led by Muzafer Sherif split a group of children in two, and then made the two groups compete against each other and subsequently cooperate with one another. The researchers measured what each group thought of the other at the start and after each phase. The finding was that groups that compete with one another tend to build negative views of each other, and groups who cooperate with each other tend to build positive ones.
Research on bias building and stereotyping suggests a mostly similar pattern at the individual level: competition and distinction (other group/team) tends to breed negative views, while cooperation and similarity (same group/team) tends to breed positive ones.
Anyway, getting back to your problem: making do with the situation the best you can is an option which is already covered at length in other answers.
But if you decide you can't make do with that, you could also try to de-escalate it: come up with a short task where the two are basically forced to cooperate in order to be successful. Assign the task in a meeting where they're both present in passing, while making how they'll need each other's help explicit.
If they object strongly, assert your authority and invite them to get over their differences sooner rather than later. One or both may resent you for it, but stand firm.
Rinse and repeat until they're on hello terms or better. Upon successfully breaking the ice, try to set the stage to get the two around a coffee.
Be wary of tasks where one's output depends on the other's but not the other way around. Those will end up breeding thoughts like "can't move forward because of my idiot colleague". What you want are tasks where they basically cannot move forward without actually talking and working together. The latter should be promoting thoughts more along the lines of "sigh, OK, it'll just be a bad pill to swallow and I can resume with not speaking with this bozo". Give them enough of the latter, and they'll eventually be thinking "mm, this person isn't so bad after all" - one small step at the time.
It may be that the situation has deteriorated to a point where it's borderline impossible to recover from, of course. But those situations are actually rare in practice. What counts in reality is setting the right pace: too big a step will breed irritation and possibly the opposite of what you're looking for. Much like how the Chinese brainwashed US POWs during the Korea war, you want to pace things a small step at the time, with as symbolic a reward as you can get away with (ideally none at all beyond telling them they did great work). You want them to internalize the reasons for cooperating - you won't get far if they get the impression they're doing it because it's an order.
Aside: it may be that one hates the other owing to severe incompetence or prior personal injury. Perhaps one made the other look really bad one day or something, or perhaps looks like or is related to someone who did? The source of the problem may eventually come to your attention. If the situation really calls for it, raise it upfront (dive both feet in) and assert that the time has come to move on. (Like a parent would do with children who are fighting with each other over nonsense, really; but only if the situation really calls for it.)