With Vettel's Ferrari engine packing up on the warm-up lap Rosberg made a fine start to lead while Hamilton, slow off the grid from his 51st pole position, was the victim of a Turn 1 collision with Valtteri Bottas's Williams and fell to eighth.
As Rosberg cruised clear to control the contest and claim his second win of the season, fifth in succession and 16th of his career, Hamilton, in a damaged car, mounted a fightback to finish third behind Kimi Raikkonen in a Ferrari, 10 seconds adrift of Rosberg.
“This has been an awesome weekend for me, and it is awesome to get another win!” said 30-year-old Rosberg, clearly delighted to have a 17-points lead over Hamilton after just two races.
“The key was the start for me,” the German added. “I had a great getaway and then, from there, I was just trying to control the race.”
He added that he was not taking the title race too seriously - just yet.
“This is only two races out of 21 and there is a long way to go.”
Rosberg's triumph maintained his supremacy since Hamilton claimed his third Drivers' world title in Texas in 2015, a streak that has seen him build up the momentum for a convincing bid for his first championship.
Hamilton, however, played down the setback and said there was no connection between the two first corner incidents that have ruined his chances of reversing that run so far this season.
“I think they are two separate incidents, but equally painful - perhaps today more painful. Again, for me, it was damage limitation and I was glad to get up there and score some points.
“Congratulations to Nico, but I guess he had a pretty quiet race! I am just glad that I didn't drop more points here. I feel very chilled about the situation, to be honest.
“We were hoping for a Safety Car in the closing laps of the race. I had so much damage on the car that I couldn't keep up and fight with Kimi Raikkonen.”
The two Mercedes drivers had started from their eighth successive front row lockout on the grid ahead of the Ferraris of four-times champion Vettel and Raikkonen.
Vettel, expected to produce a challenge to the Mercedes domination, failed to make the start for the first time in his career after a pre-race engine failure and it was left to Raikkonen to produce his customary charging race to claim second.
“It's not too bad to finish second,” he said. “I had a bad start and we did what we could. I think we will take second today from this race.”
Vettel said he was not sure of what caused his engine failure.
“I don't know why it happened, it was very unexpected,” he said.
His absence and Hamilton's clash with Bottas's Williams took much of the heat out of the contest and allowed Rosberg a comfortable drive to 25 more points. He now has 50 to Hamilton's 33.
Bottas, who was given a drive-through penalty by the stewards for his part in the crash, finished ninth behind his Williams team-mate Brazilian Felipe Massa.
He said: “I was braking as hard as I could, but I went a bit sideways and we hit...”
Daniel Ricciardo finished fourth for Red Bull, for the second consecutive race, ahead of Romain Grosjean, who secured a fine fifth for the new American Haas team, and sixth placed Dutch teenager Max Verstappen of Toro Rosso.
Daniil Kvyat finished seventh in the second Red Bull ahead of Brazilian Felipe Massa of Williams, Finn Valtteri Bottas in the second Williams and Belgian debutant Stoffel Vandoorne who took a point in his first race with McLaren.
“To score a point in my first race is amazing,” said Vandoorne, who raced only because former double champion Fernando Alonso failed a medical test on Thursday.
“It has felt really great for me all weekend....”
Original source: Rosberg puts the boot in at Bahrain