Stewart covered the 1½-mile layout with a speed of 191.959 to start up front for the Bank of America 500 on Saturday night. Kenseth was tick slower at 191.918 mph while Edwards was next at 191.870 mph.
It was Stewart's first pole in more than a year since Pocono in August of 2010 and his 13th overall. He also earned his first pole at Charlotte in 26 chances.
Stewart stands seventh in the Chase for a Championship, 19 points behind Edwards.
Drivers had anticipated a run at Elliott Sadler's 2005 qualifying record of 193.216 after a super-fast practice session. But speeds didn't pick up when the sun went down.
But Stewart said the air was more humid and robbed the cars of power and speed they anticipated. "That makes our lap that much better," he said.
Stewart, will try for just his second victory at Charlotte, the first coming in October 2003. After posting his lap, Stewart still had to outlast a dozen or so drivers he figured would edge past him.
"Sitting there after that lap, felt like it was going to be a top five or six," Stewart said. "It was definitely better than we thought."
Stewart opened the chase with victories in the first two races at Chicagoland and New Hampshire to move out front in the points race. But a 25th-place finish at Dover and a 15th-place run at Kansas the past two weekends dropped him back in the standings.
Stewart hopes a landmark pole leads to a big showing in Charlotte. "It has definitely been a good start to the weekend," he said.
Kenseth is fifth in the points while Edwards holds a one-point lead over Kevin Harvick in the championship chase.
Harvick was 14th in qualifying with Dale Earnhardt Jr. right behind. Earnhardt Jr. is ninth in points.
Kenseth felt his car strong enough to take the pole and that he left a bit of speed out on the track. "I feel bad. I wish I could do it again. I wish somebody had beat me by more than leaving a half-a-tenth (of a second) out there," he said. "Looking forward to putting it in race trim and see what it drives like."
Edwards, too, thought he might've been able to squeak out a pole victory. Edwards, though, was satisfied with a solid starting spot at a track where he's struggled to pick up ground.
Edwards hasn't finished better than 12th in his last four races here, including a 39th as a member of the chase here two years ago. "We really need to take advantage of this track if we've got a good car because it's been one we've struggled at," Edwards said.
Edwards did win the Sprint All-Star Race at Charlotte back in May. He hasn't had a top-10 placing at Charlotte since taking fourth in the Coca-Cola 600 in 2009.
Earnhardt briefly held the top spot to the cheers of those at Charlotte Motor Speedway. It was Earnhardt who looked like he'd win the spring race but ran out of fuel on the final lap and got passed by winner Harvick.
"I won't say it owes me one," Earnhardt said. "But we are due a win, and we are going to work out tails off to get one before the year is out."