Hamilton outpaced Mercedes teammate Nico Rosberg by three-tenths of a second with a late lap in the closing seconds.
His decisive lap came after his first flying lap in Q3 was deleted by the race stewards, because he ran wide off the circuit, leaving him in 10th place with only three minutes remaining.
It was Hamilton's fourth pole success at the British GP, but his sixth this season and the 55th of his career.
Dutch teenager Max Verstappen was third fastest, followed by Red Bull teammate Daniel Ricciardo, Kimi Raikkonen and Sebastian Vettel of Ferrari, and Valtteri Bottas of Williams.