Johnson turned in a qualifying lap of 97.598 for the Tums Fast Relief 500, the seventh of the 10 races that make up the Chase for the Championship.
Johnson is currently second in the championship battle, seven points behind front runner Brad Keselowski. While Johnson will be out front at the beginning of Sunday's race, Keselowski will be in the 32nd position on the starting grid.
It was the third pole of the season for Johnson, a five-time Sprint Cup Series champion, and it was the 28th of his career. He has won six times at Martinsville.
"We come here thinking that we should be able to get some points on (Keselowski), but you never know," Johnson said. "We've helped ourselves out dramatically by qualifying on the pole. We've got the safest pit stall and starting with track position is very important."
Brian Vickers turned in the second-quickest qualifying time at 97.533. Kyle Busch was third, followed by Jeff Burton and Denny Hamlin. The Top 10 was rounded out by Matt Kenseth, Tony Stewart, Clint Bowyer, Paul Menard and Aric Almirola.
Dale Earnhardt Jr., returning to action after missing two weeks with a concussion, will start 20th.