The Mercedes star conceded the championship lead as he finished fifth in Montreal with Sebastian Vettel winning the race and moving to the top of the standings.
Vettel converted his pole position into a race win while Hamilton dropped back from fourth to fifth during the race.
It leaves Hamilton just a point behind the German with a third of the season gone.
But the former McLaren man was just pleased to get round and not drop too many points.
“It was a tough day in the office today, but I’m just very grateful that I finished today’s race and score some points,” Lewis Hamilton said.
“From the start I was down on power and my engine was overheating. I couldn’t get the temperatures down, so I just thought it was going to fail.
“Every single lap I was waiting for the power to just drop away and disappear – but it kept going. I could have lost a lot more points today; fifth is not the strongest result, but it could have been a lot worse.
“Ferrari have been doing a slightly better job and brought a better package, but we are very close.
“The guys are working really hard, but each and every one of us can always do better and improve. We will just keep our heads down, keep pushing and stay positive.”
Hamilton’s last win came at the Spanish Grand Prix last month while Vettel has now tasted victory three times this season.
The Brit will get the chance to retake the championship lead at the France Grand Prix on June 24.