The win closes his deficit to Rosberg at the head of the drivers’ championship to just four points.
This team is on a roll they have done a great job
“The fans have been incredible this week and they gave me lots of energy,” said Hamilton, who has won every grand prix since retiring at the season-opening race in Australia.
“All the hard work from the team has paid off and I just can’t believe how amazing the car is and it’s testament how hard everyone’s been working.
“I am really happy Nico is up here with us too it’s great rewards for the team.
“This team is on a roll they have done a great job, we aim to keep moving forward and improving and I hope it can continue.”
It is the first time that Hamilton has sealed three straight wins in his Formula 1 career, and the result means Mercedes has won all four of the opening grands prix of the season
Rosberg was second ahead of Ferrari’s Fernando Alonso, who held off Red Bull’s Daniel Ricciardo. Sebastian Vettel was fifth.
“It was a good weekend we did improve the car a bit and to be on the podium is a nice surprise for us,” said Alonso.
“I think I am third in the drivers’ championship behind Nico Rosberg and Lewis Hamilton and we didn’t have the start to the season we wanted so to be here is fantastic.”
1. Lewis Hamilton Britain Mercedes-Mercedes 56 laps 1hr 35m 09.751s
2. Nico Rosberg Germany Mercedes-Mercedes +00m 18.6s
3. Fernando Alonso Spain Ferrari-Ferrari +00m 25.6s
4. Daniel Ricciardo Australia Red Bull-Renault +00m 26.8s
5. Sebastian Vettel Germany Red Bull-Renault +00m 50.5s
6. Nico Hulkenberg Germany Force India-Mercedes +00m 57.0s
7. Valtteri Bottas Finland Williams-Mercedes +00m 57.5s
8. Kimi Raikkonen Finland Ferrari-Ferrari +01m 23.3s
9. Sergio Perez Mexico Force India-Mercedes +01m 25.7s
10. Daniil Kvyat Russia Toro Rosso-Renault +1 lap
11. Jenson Button Britain McLaren-Mercedes +1 lap
12. Jean-Eric Vergne France Toro Rosso-Renault +1 lap
13. Kevin Magnussen Denmark McLaren-Mercedes +1 lap
14. Pastor Maldonado Venezuela Lotus-Renault +1 lap
15. Felipe Massa Brazil Williams-Mercedes +1 lap
16. Esteban Gutierrez Mexico Sauber-Ferrari +1 lap
17. Kamui Kobayashi Japan Caterham-Renault +1 lap
18. Jules Bianchi France Marussia-Ferrari +1 lap
19. Max Chilton Briton Marussia-Ferrari +2 laps
20. Marcus Ericsson Sweden Caterham-Renault +2 laps
Rtd Romain Grosjean France Lotus-Renault 30 laps completed
Rtd Adrian Sutil Germany Sauber-Ferrari 7 laps completed
MORE: The latest football news
MORE: The latest tennis news