The Mercedes driver's result ensured he lost only 10 championship points to team-mate and title rival Nico Rosberg and still leads him by nine points.
Hamilton said: "I honestly didn't know what was going to happen in this race.
"Congratulations to the guy next to me (Rosberg), this is great for Mercedes and still great for the championship."
Hamilton always knew he would have a tough race in Spa because he faced grid penalties for using too many engine parts after reliability problems early in the season.
Three changes of engine through the weekend, to ensure he was in the best position possible for the remaining races of the season, left him 21st on the grid, ahead only of McLaren's Fernando Alonso, who also had multiple engine changes.
Hamilton was up to fifth by the time the race was red-flagged after nine laps following a huge accident to Renault's Kevin Magnussen. After the restart, he fought past Alonso and Force India's Nico Hulkenberg to take the final place on the podium behind Rosberg and Red Bull's Daniel Ricciardo.
"To come away with the points we have today, I'm extremely proud of everyone.
"I was trying to keep my head down all weekend and focus on the long-run paces. It seemed to work and pay off.
"I'd have had an even better summer if I went into it knowing I'd come out nine points ahead still after three engines. So I'm very grateful. This is the best result I could have hoped for."
The next race is the Italian Grand Prix on Sunday 4 September.
Lewis Hamilton said he was "proud" and "grateful" after recovering from the back row of the grid to finish third in the Belgian Grand Prix.