Mercedes team-mate Valtteri Bottas followed Hamilton home for the team's first one-two of the season, while Red Bull's Daniel Ricciardo was on the bottom step of the podium for the third straight race.
Charging from the back of the field after a first-lap incident with Max Verstappen sent him to the pits for a new front wing for his auto to finish fourth was points-leader Sebastian Vettel of Ferrari.
The crash ushered on the Safety Car for three laps before racing resumed with Verstappen vying for the lead with Hamilton - but not for long. "Don't get me wrong, I think with the damage in the beginning, it was not ideal".
The 32-year-old Englishman and his rival Vettel have now won three races apiece in a title battle which continues to swing from one direction to the other.
Vettel suffered damage to his auto when being overtaken by Red Bull's Max Verstappen at the first corner and pitted for repairs four laps later, but he refused to blame the Dutch youngster.
Ferrari began the weekend in fine shape, but endured plenty of issues as Vettel had to pit early on for a new front nose and rejoined the race in 18th.
The first lap also saw the horrific crash between Carlos Sainz and Romain Grosjean, which prompted for the safety vehicle on track.
"We've been working very hard over the last two weeks to rectify the issues we had with the auto", said Hamilton.
"I really do love this track", he said. "I remember coming home from school and putting on the videotape of Ayrton, so it's really odd to think that I'm here and I have that many poles". "It's insane to think after 10 years that I enjoy racing every lap just as I did 10 years ago".
"To bounce back in this way shows the calibre of the group that we have in the team, but the secret to this weekend was to keep the ball flat, stay calm, analyse our problems and come up with solutions".
"I don't own any of Senna's artifacts", the British driver said.
A technical glitch for Raikkonen promoted Vettel to sixth before he took fifth position after Ocon ran off the road at Turn One with four laps remaining. He then shared a sip with actor Sir Patrick Stewart, who was serving as the post-race master of ceremonies. This was thrilling stuff at the end and it paid off. Vettel pulled off another remarkable move through the final chicane on lap 69 to finish fourth - a result that looked unthinkable after the opening lap. When Bottas too went into the pits on lap 23, Esteban Ocon managed to take his Force India into the second position and stayed there, until his first pit stop on lap 32.