The head-on videos I've seen start too late, they leave out the important parts.
Watch the overhead, this one is magnified.
Tour de France: Sagan sparks Cavendish crash during Vittel sprint | Cyclingnews.com
At about 0:02 Sagan is in the middle of the road, Demare is coming up on Sagan’s right, Cav is in Demare’s wheel. Demare passes Sagan who is still in the middle of the road. Sagan is about 8 feet from the barrier, Demare is ahead and to Sagan’s right, Cav is coming up on Sagan’s right. Then Sagan moves right, and they go under a tree. When they come out from that tree, Demare is further ahead of Sagan and moving left to get in front of Bouhanni, Sagan is still moving right and is about 3 feet from the barrier, Cav is already overlapping Sagan on the right and moving up to pass. Sagan then moves right again, they go under another tree. When they emerge, Sagan has moved even further right, Cav is jammed between Sagan and the barrier, Sagan throws the elbow, Cav starts to fall.
Note that all of this is deliberate, meaning that Sagan isn’t being forced to his right by anyone on his left. He’s not even fighting for Demare’s wheel, as Demare was moving to the left when Sagan was moving right and jamming Cavendish. It is possible that Sagan saw Bouhanni slowing and wanted to come around to Bouhanni’s right, but there was enough room that he didn’t need to squeeze to the barrier.
Definitely Sagan’s fault, a blatant deviation, blocking, jamming the other rider into barrier, and elbowing. Sprints are messy and you can usually get away with deviation and blocking (unless you have a bad reputation like Bouhanni). Add jamming into barriers and you’re going to get penalized if it causes an accident. Add throwing an elbow and you’re definitely going to get penalized if it causes an accident.
Most of the pros and ex-pro commentators were saying it was Sagan's fault and he deserved a penalty. The initial penalty (relegation to 115th spot, 30 sec time, lost a bunch of green jersey points) wasn't attracting much protest. It is the severity of the DQ penalty that has most people surprised.
Was DQ the right penalty? The elbow makes it an aggression, remember Renshaw getting DQ’d for deliberate head butting. The accident was significant. Sagan has been getting a bit of a reputation as a bully, recall a recent race where he elbowed a rider right off the road. With eight sprint stages in the Tour, the commissaires might have wanted to get control of the racers early. I think it’s harsh but the jury will have seen more video in higher resolution than we’re seeing. If Sagan actually threw his elbow twice as some are saying, or was elbowing and shoving racers earlier in the sprint, then maybe DQ fits.
Bummer that two of the best riders are gone from the race. Kind of impressed that the jury had the guts to throw out the most popular rider in cycling.