The Red Bull driver passed his McLaren rival for second with less than two laps to go by running off track at the exit of the hairpin.
Vettel's move was illegal, according to the stewards, who imposed a post-race drive-through penalty on the German, meaning 20 seconds have been added to his finishing time.
"Car 1 left the track and gained an advantage when he rejoined. Breach of article 20.2 of the FIA Formula 1 sporting regulations," said the stewards.
"Drive-through penalty, imposed after the race in accordance with article 16.3 (20 seconds added to the elapsed race time)."
The German drops from second to fifth, promoting Lotus driver Kimi Raikkonen to third.
"There's nothing to say really," Button said after the race. "The TV camera says it all. I'd rather talk about the race."
Vettel said he had gone wide because he wanted to avoid contact with Button, claiming he did not know where the McLaren driver was.
"It was a difficult one, I didn't know if he was on the inside or not," Vettel said. "The last thing you want is contact. I can't see him from the side of the car so I tried to give enough room and went wide. We were all struggling with our tyres and I think that was the case for Jenson and that's why I passed him."
He added: "I was thinking he was still there and I didn't want to close [the door] too early. I wanted to leave some space. The last thing you want at the end is to crash. So I decided to go off the circuit to make it safe. He had no traction but even on the slippery paint I was able to pass."