The race was stopped twice for red flags, while an early safety car period was also required shortly after pole-sitter Hamilton lost the lead to his Mercedes team-mate.
That came as part of a dramatic start which also saw a crash further down the field and a retirement for title rival Max Verstappen.
But Hamilton was able to reclaim first place by overtaking Bottas during the first standing restart and ultimately recorded his 90th Formula 1® win, moving to within one of Michael Schumacher's all-time record.
"It was all a bit of a daze," said Hamilton, who leads Bottas atop the drivers' championship by 55 points after his sixth win of the 2020 season.
"It was like three races in one day! It was just incredibly tough, obviously with a difficult start.
"This track is phenomenal. Obviously the heat and keeping Valtteri behind, who has been quick all weekend, was not easy and I was behind in the beginning.
"All those restarts, the total focus that's needed during that time, it was really, really hard."
He added: "It was those restarts [that were tricky] - the first stint I was fine managing my tyres and I didn't need to stop but they were worried because Valtteri had a problem.
"Then the last stint I started on the softs, a used tyre, not knowing how long they would go and Valtteri appeared out of nowhere when before Danny [Ricciardo] was the man behind.
"And Valtteri was on it. I was looking after the tyres and he would close up, so trying to keep that gap above one second – I didn't want him to have the DRS with such a long 1,000m straight – my heart was definitely racing.
"It's crazy to be here and have 90 Grands Prix [wins]."
Hamilton ended his interview by saying "justice for Breonna Taylor", referring to the Black emergency services technician fatally shot by police in Louisville earlier this year.
It was a statement he accompanied with a t-shirt he was wearing during his post-race media availability and on the podium.