Vettel qualified on pole and led for most of the race, even crossing the line in first. However, the German was handed a five-second penalty following an unsafe re-entry after he ran onto the grass at turn three on lap 48.
The German was unable to build enough of a gap and Leclerc, who was seemingly out of it clawed the deficit back but was unable to close it enough despite it being his best finish since Bahrain.
“I’m pretty happy about my own performance today,” he said.
“The race pace was really strong, which is a good sign for the future.
“We have all worked extremely hard to be there.
“I don’t know what happened with Seb but the team deserved the victory today.
“It’s a shame but we’ll come back stronger, keep pushing and hopefully the victory will come soon.”