From the start, which was in wet conditions, Vettel leant across to block a move from second place Max Verstappen, who was then forced into the very fast starting Kimi Raikkonen and both Ferrari drivers and the Dutchman collided, resulting in retirements all-round.
Hamilton found himself at the front of the pack, avoiding any backlash from the collision as the safety car spent a considerable amount of time on the track.
After it went in Hamilton had no trouble in pulling away from Daniel Ricciardo in the Red Bull, despite many expecting the Australian to mount a challenge, with Valtteri Bottas completing the podium places.
The win takes the Brit 28 points clear of Vettel, who was blamed by Max Verstappen for causing the crash, and a further 51 points ahead of team mate Bottas ahead of the next race in Malaysia.
“I want to congratulate my team, they did a fantastic job,” said Hamilton. “We struggled yesterday and we had no idea what would happen today. We were fortunate with what happened with the Ferraris at the beginning but I could not be happier.
“I capitalised on the incident. Who would know what would happen? Daniel put up a really good fight today. I hoped I would get to race Sebastian at the beginning. Of course it is better the way it is.”