Rosberg attempted to pass Hamilton around the outside of Turn 1, but the Briton held his line and nudged Rosberg wide - forcing him to take to the grass, which ultimately dropped him down to ninth at the end of the first lap.
"Sebastian [Vettel] made a good start, I had a decent one and Lewis had a really bad one," Rosberg said of the start.
"My position was on the outside. In Barcelona I gave it a go around the outside of Lewis and it worked out really well, and I went for the same again today. He did a really hard racing manoeuvre, we touched and I was off, and that's it. It didn't work out.
"I was very [angry] in the moment, but that's racing. In the end it's my job to make sure I'm in front after a battle like that next time.
"It was very costly for me because I lost a lot of places and from then it was an uphill battle trying to fight back.
"We had a great car today, so it was even more disappointing - as Lewis showed, the car was worthy of the win."
Rosberg also admitted he came close to running out of fuel at the end of the race, which compromised his attempts to pass Red Bull's Max Verstappen.
"It was difficult with fuel – I nearly ran out," he added. "That's why I couldn't really attack Max properly. He did a very good job to defend, [but] I had to drop back again to save fuel and attack again.
"In the end it went completely pear-shaped and [I] spun, but managed to carry it home still."
With Hamilton winning for a second straight race, and Rosberg missing out on the podium for the third race in a row, the German's championship advantage now stands at just nine points.