A blistering start and stunning first lap in the Austrian Grand Prix only made Hamilton further regret what transpired during qualifying.
Mistakes in the final session resulted in Hamilton failing to set a time and starting from ninth on the grid at the Red Bull Ring.
Come the end of lap one Hamilton had made up five places and had the leading trio of Williams pair Felipe Massa and Valtteri Bottas, along with Mercedes team-mate Nico Rosberg in his sights.
When the chequered flag dropped 70 laps later, clever strategy from Mercedes had allowed Rosberg and Hamilton to claim a sixth one-two in eight races this year, with Bottas third ahead of Massa.
Hamilton, though, is now 29 points adrift of Rosberg heading into his home race of the British Grand Prix at Silverstone in a fortnight.
"I got one of the best starts I've ever had really and positioned the car in the correct places," said Hamilton.
"It would have been great if I'd started where perhaps I should have started this weekend, so after what happened in qualifying it was all about damage limitation for me.
"I'm as happy as I can be with a P2 finish. I had the pace in the car all weekend, but I wasn't able to capitalise on that so second place from a bad weekend is pretty good.
"The strategy worked really well for me to get into second position, then I tried to start pushing Nico, but he didn't make any mistakes and I didn't have the chance to overtake.
"To get another one-two, though, is just incredible."
Story continues after slideshow
With the British Grand Prix on the horizon, a race Hamilton has not won since 2008, the 29-year-old said: "Next race is in Silverstone and all the positive energy from my home fans that goes with that.
"It will be a special time, and I'll be going all out for the win."
For Rosberg, in extending his advantage over Hamilton, his third win this season and sixth of his career was mission accomplished.
"Twenty-nine points is a nice gap, but it's still so early in the season," said Rosberg.
"I really like to concentrate on each weekend, taking it step by step and every weekend my aim is to extend the championship lead, which I managed to do this weekend."
Behind the leading quartet Ferrari's Fernando Alonso was fifth ahead of Force India's Sergio Perez, McLaren's Kevin Magnussen and Daniel Ricciardo in his Red Bull.
As for Ricciardo's team-mate Sebastian Vettel, the reigning quadruple champion was forced to retire for the third time this season, as many as in the previous three years combined.
Jenson Button could only manage 11th for McLaren, whilst Marussia's Max Chilton was 17th.