The race started behind the safety car due to heavy rain and ended without celebration after Marussia’s Jules Bianchi was taken to hospital following a crash that left the young Frenchman seriously injured.
Rosberg, who had started on pole position, finished second following a third deployment of the safety car and then red flags being displayed.
Germany’s quadruple world champion Sebastian Vettel, who is leaving Red Bull for Ferrari at the end of the season, took third place with the result based on positions after 44 of the scheduled 53 laps.
Australian Daniel Ricciardo, who would otherwise have been on the podium, was fourth for Red Bull.
The drivers tense faces as they waited to step on the podium told the true story of the afternoon, with Bianchi foremost in their thoughts.
No champagne was sprayed, with the top three merely clinking the bottles and taking a quiet swig before placing them back on the floor.
“The driver is not conscious and has been sent to the hospital by the ambulance because the helicopter cannot go in these conditions,” said a spokesman for the governing International Automobile Federation (FIA).
“It’s obviously a real anti-climax to hear that one of our fellow colleagues is seriously injured so that’s really the main worry,” said Hamilton, who would otherwise have been delighted with his third win in a row and one of his most impressive performances.
The victory was Hamilton’s eighth of the season but first at Suzuka. The 2008 champion’s only other win in Japan was at the Fuji circuit with McLaren in 2007.
The race started as scheduled but behind the safety car due to rain from an approaching typhoon that threatened to intensify through the evening.
The cars completed one lap and were then led back into the pit lane to await a re-start.
“Lewis is saying the conditions are so poor he cannot see you,” Rosberg’s race engineer told the German as the two Mercedes threaded their way carefully around the circuit.
When the race resumed, again behind the safety car, Ferrari’s Fernando Alonso was an immediate casualty with his car gliding to a halt.
“It was a shame. I had power down in the car, an electricity problem and the car switched off. Maybe some water in some connectors,” said the Spaniard, whose future remains unclear after Vettel’s announcement.
“Probably we lost an opportunity today.”
When the safety car came in after eight laps, the battle was on with Hamilton chasing Rosberg in the spray and passing him in a breathtaking moment of bravery on lap 29 after their first pitstops.
The Briton was 16 seconds clear of the German when the race was stopped, the margin later reduced to 9.160 in the final results.
Compatriot Jenson Button also shone in the wet, making the right call to run in third place for McLaren before then dropping back to fifth at the finish.
Finland’s Valtteri Bottas was sixth for Williams, ahead of Brazilian team mate Felipe Massa, as the team consolidated third place overall and pulled further away from Ferrari.
Germany’s Nico Hulkenberg was eighth for Force India, with Frenchman Jean-Eric Vergne ninth for Toro Rosso and Mexican Sergio Perez 10th for Force India. (Reuters)