The Brit finished ahead of Vettel who was given the penalty after he lost control, went wide on to the grass and cut straight back on to the track. Charles Leclerc eventually finished behind of Vettel who had extended the gap enough to come second.
The drama occurred on lap 48 when Vettel ran onto the grass at turn 3 causing him to re-enter the track, almost bumping Hamilton into the wall. The stewards adjudged him to have re-entered the track dangerously giving him a five-second penalty, and although he crossed the line first it was Hamilton who was awarded the win.
Charles Leclerc, after a relatively untroubled race, finished third, despite seemingly never really being in contention almost took second. P3 was his best result since coming third in Bahrain.
Max Verstappen worked his way from ninth to finish fifth with Daniel Ricciardo (sixth), Nico Hulkenberg (seventh), Pierre Gasly (eighth), Lance Stroll (ninth) and Daniil Kvyat (tenth) completing the point finishes.
Lando Norris suffered an early retirement after he brushed the wall at turn eight, which broke something in the brake ducts causing his brakes to subsequently fail. With his rear right tyre on fire, the Brit quickly jumped out the car signalling the end of his race. It was a disappointing end to a promising weekend after qualifying eighth and overtaking Max Verstappen in the opening stages of the race.