The Aston Martin driver was in 14th place when he pitted on lap 36, emerging immediately in front of Hamilton, who had just passed Sergio Perez for third.
On his fresh hard tyres Vettel passed through a series of blue flag warnings as he stayed in front of the battling pair for several corners. Perez was able to draw alongside Hamilton and attempt to regain the place before Vettel eventually let them both through.
The FIA stewards took a dim view and handed Vettel a five-second penalty. He eventually finished 14th.
"Not even half a lap and I was out of the way," he said when asked about the offence by Autosport. "So obviously I can't disappear. I have a different opinion, but it doesn't matter."
Aston Martin team boss Mike Krack defended his driver, noting that on new tyres Vettel had good pace.
"It is always difficult when you have you come out of the pits with fresh tyres, and you get lapped by people that have older tyres," said Krack.
"He was not really slower at this point. But I think when you look at it, we went maybe a little bit too long in front of Lewis, and you cannot drive one lap in front. So these things happen sometimes.
"We knew that we were going to end up in this situation, we had to stop him. He was made aware, but I think he didn't see it as bad also, because he had the pace obviously, and he told us also I have the pace to drive away. But if you have the flag, you have the flag."
The German's race had already been spoiled by his first pitstop, which dropped him behind several rivals.
"We stopped really early trying to undercut most of the midfield, which I think was correct," said Vettel.
"Then we had a really slow stop, losing like three or four seconds, I'm not sure. But obviously then we lost position to Pierre [Gasly], Alex [Albon], Mick [Schumacher], Zhou [Guanyu]. And it was very close with Daniel [Ricciardo]. So not ideal really. And then that was it really."
Regarding his battle with Schumacher, he said: "Obviously he fell back, starting in the points. I gained, starting more or less last. We met in the middle. It was fun, but it was nothing to take away from here."
Lance Stroll gave Aston some encouragement by earning a point for 10th place, although the team hoped that the Canadian would also get ahead of Esteban Ocon's Alpine.
"We were never really concerned to be out of the top 10," said Krack. "But we were eighth at a certain time. And during that time, we thought that we could fight with Alpine, at least one.
"But then the safety car came at a bad moment because we thought that they were not going to stop anymore. And we stopped Lance. And we made huge steps to catch Esteban. We were quite confident that we can at least hold one of them, or get one of them back.
"But then the safety car came really at this time where basically we were playing catch up, it was more than one to one and a half seconds a lap to Ocon. But then again the safety car. So he had basically a free stop, and then the positions were frozen."