The British driver beat teammate Nico Rosberg as he starts at the front of the pack for the seventh time in his previous eight races. Hamilton has a 17-point lead at the top of the drivers' standings.
Lewis Hamilton will start in pole position at tomorrow's Austrian Grand Prix, the 45th time in his career that he has started from the front.
The Englishman recorded a fastest time of 1 minute 08.455 seconds, 0.200 seconds faster than Mercedes teammate Nico Rosberg.
"It was quite a difficult qualifying with the track conditions," Hamilton admitted afterwards. "I was grateful I got my third lap in on the first run in Q3. I was pushing that bit extra on the next run and just locked the rears.
"I wasn't too concerned about losing pole at that time because I was trying to get the car going, but obviously afterwards I was thinking, 'I probably lost it there'."
Hamilton leads Rosberg in the Formula One drivers' championship by 17 points and is on the hunt for his fifth win of the season.
His 45th start from pole positions means he's joint-third in the all-time list with German Sebastian Vettel who starts the race in third.
The pair are 20 poles off Brazilian driver Ayrton Senna who is second to Michael Schumacher who started from the front 68 times in his career.
Meanwhile, Kimi Raikkonen was heard swearing on team radio after being handed 'wrong' information when Ferrari changed its strategy for the race at late notice.
Despite the strong performance in Friday's practice, the 35-year-old will start in 18th and will likely be out of the running for a podium finish.
"I was doing the same thing that I had been told when we went out and I never got the information that the first plan was not even possible and we missed one lap completely," he said.
"I was basically doing the normal thing and I was not told that the plan had changed. The point is -- they sent me out too late and we missed one lap and it cost us a lot."
rd/jh (AFP,SID, dpa)