Hamilton challenged the Red Bulls early in the race, with Rosberg running in fourth, but fuel and tyre concerns meant he had to slow down.
That allowed Rosberg to close in and the German requested he be allowed through into third.
The team refused and told him to hold position, allowing Hamilton to score his first podium since joining Mercedes.
"If I'm honest I feel Nico should be standing here," said Hamilton on the podium. "He had better pace through the race.
"We were racing very hard to keep up with Red Bull. We were close but on the knife-edge and I used too much fuel.
"It's very difficult to make the tyres last too, particularly for me today. I wasn't able to make them last as long as I wanted, and was fuel saving from an early point in the race, which lost me a lot of time.
"I don't know what the situation was with Nico, but I can do a better job looking after tyres."
Hamilton also said he would speak to Rosberg and could pay him back in future.
"He is a great team-mate," added Hamilton. "I will speak to the team, or apologise. I said to him he did a fantastic job.
"Nico deserved to be where I am. With the position in the championship the team thought it was logical to stay in position, but Nico drove a smarter and more controlled race than me today.
"Would I let him past in the future? I probably would."
- Sports & Recreation
- Motor Racing