Britain's Hamilton accused Vettel of deliberately driving into him in a chaotic race won by Red Bull's Daniel Ricciardo.
Three-time world champion Hamilton, who had controlled the race from pole, was first bumped from behind by the German, suffering damage to his front wing.
Vettel then pulled up alongside Hamilton and appeared to turn deliberately into the Mercedes driver, gesticulating and banging wheels.
Hamilton, second behind Vettel in the world title standings, described Vettel's driving as "disgusting" and "not sportsman's conduct."
The world championship leader claimed Hamilton had been deliberately "brake-checking" him, but the stewards saw it differently and handed Vettel a stop-go penalty.
'We're racing as men'
"I didn't [brake-test him]. I controlled the pace. All the restarts I slowed down in the same spot," Hamilton told reporters.
"He was obviously sleeping and driving alongside and deliberately driving into a driver and coming away scot-free is a disgrace. He disgraced himself.
"If he wants to prove himself he is a man he should do it out of the car, face-to-face.
"Imagine all young kids watching F1 today and seeing that sort of behavior from a four-time world champion."
The German denied he was at fault, telling reporters: "I didn't run into the back of him on purpose. I damaged my wing, I think he had a little bit of damage as well. Nothing that would have impacted on the race.
"It's just not the way to do it. I think it was very clear. In the end we're racing as men. I don't have a radio to him. If I get a penalty, then we should both get a penalty."
'Vettel needs to put a lid on it'
Red Bull's Ricciardo took full advantage after race leader Hamilton was forced to pit because of a faulty headrest and Vettel received a 10-second penalty for driving into his Mercedes rival while behind the safety car.
After Vettel served his penalty, he came out of the pits ahead of Hamilton and maintained his position as the pair finished fourth and fifth, leaving the German 14 points clear after eight rounds of the 2017 championship.
Vettel was also given three penalty points on his license, taking his total to nine over a 12-month period, which means the former world champion is just three penalty points away from a one-race ban. However, two of those nine points will expire after the British Grand Prix on July 16.
Ricciardo told BBC Sport that, sometimes, Vettel "does not think before he acts."
The Australian said the Ferrari driver's actions were "probably driven through passion and hunger" before admitting that the former world champion had to "put a lid on it sometimes."
Alan Baldwin, Reuters' F1 correspondent, told CNN that the incident would prove to be a turning point in the title race.
"The gloves are off," he said. "The rather respectful, mutual admiration society we saw in the first few races has probably gone out of the window and there's going to be a lot more needle now, a lot more verbal sparring.
"i don't think it's going to mean they're going to drive dirty on the track, but it's going to be a different championship and a much more enthralling championship for it."
Behind Ricciardo, who started 10th on the grid, Canadian teenager Lance Stroll looked set to finish second until pipped on the line by Hamilton's Mercedes teammate Valtteri Bottas.
The Williams new boy is the youngest driver, at 18 years, to claim an F1 podium in his rookie season. "I am just lost for words," said Stroll at the post-race presentations. "We just stayed out of trouble."
It was also a remarkable drive by Finland's Bottas, who collided with Ferrari's Kimi Raikkonen on the second corner and dropped back to 20th before working his way back through the field in the 51-lap race.
Both Ricciardo and Bottas were assisted by no three safety cars and, eventually, a red flag as race officials cleared debris from the street circuit in Baku.
"It was a crazy race," said Australia's Ricciardo - celebrating his fifth F1 win -- admited that thoughts of victory had been far from his mind until the incidents involving Hamilton and Vettel.
Esteban Ocon took sixth for Force India despite crashing into his teammate Sergio Perez while fighting for third spot, while Fernando Alonso scored the first points of a disastrous season for McLaren in ninth spot after a spirited drive.