"He had a lot of life in his arm," Oakland manager Ken Macha said of Zito. "That's one of his better outings. He had everything going."
Zito (11-8) allowed just four hits and two runs while striking out eight and walking two. He hasn't lost since June 17 against Philadelphia.
"Not very many teams have been very good against him," Twins manager Ron Gardenhire said.
Huston Street pitched the ninth for his 12th save. He tied Rollie Fingers for most saves by a rookie in franchise history.
Oakland is 34-8 in its past 42 games after taking three of four in Minnesota. The A's entered the day two games behind the first-place Los Angeles Angels in the AL West and three games ahead of the New York Yankees in the wild-card race.
The A's have made a habit of late-season surges in recent years, but Zito said this year's turnaround is the best he's seen.
"The clubhouse chemistry is better than it's ever been since I got here in July 2000," he said. "The team has just been unreal."
Oakland trailed Minnesota by 12½ games for the wild card on June 11. But after Thursday's victory, the A's lead the struggling Twins by six.
Minnesota has lost seven of eight and 11 of 14.
"It's been a little bit of a struggle for a while now," Twins starter Kyle Lohse said. "You can't go out there and hit yourself in the head every time you have games like this."
Lohse pitched seven innings and allowed two runs and seven hits. He hasn't earned a win in his past six starts.
"He threw the ball real well," Gardenhire said. "He went right at their hitters."
Dan Johnson, a rookie who grew up in the Minneapolis suburb of Coon Rapids, hit a go-ahead homer leading off the seventh for the A's. He extended his hitting streak to eight games and is batting .368 since the All-Star break.
Kendall was hit by a pitch from reliever Jesse Crain (9-2) to start the inning.
"You get yourself up a creek right then, as soon as you do that," Gardenhire said.
Oakland tacked on two more runs in the ninth off Juan Rincon on an RBI double by Swisher and a sacrifice fly by Crosby.
The Twins tied the score at 2 when Jacque Jones scored from first on Justin Morneau's two-out double to right-center in the seventh inning. Zito struck out Michael Cuddyer to end the threat, making Minnesota hitless in its past 23 at-bats with runners in scoring position.
Zito, the AL pitcher of the month for July, was perfect through four innings, but Matthew LeCroy hit a line-drive homer to left on his first pitch of the fifth to tie the score at 1.
The Twins threatened to take the lead when Jones followed with a walk and Morneau a single to put runners on first and second. But Zito got out of the jam by striking out Cuddyer and inducing Mike Redmond to hit into a double play.
Zito, whose big, looping curveball was in fine form, struck out six of his first nine batters.
"I thought Barry had command from the first pitch on all of his stuff," Macha said.
- In his last 10 games, Chavez is 13-for-38 (.342) with three homers and 10 RBI. He has 18 homers this season, six since the All-Star break.
- Crosby went 2-for-4 to break out of a 3-for-30 slump.
- The Twins are 7-38 when scoring three runs or fewer.