KANSAS CITY, Mo. (AP) -- Brian Bannister cuts to the chase with his disdain for issuing free passes: "I like walks about as much as I like high gas prices."
He matched a career high with six of them Monday night, but didn't allow a hit until the fifth inning. Mark Teahen hit a three-run homer and the Kansas City Royals beat the Colorado Rockies 8-4 for their eighth win in nine games.
Bannister (7-6) hasn't lost since May 22, and survived his bout of wildness to last seven innings for the fourth time in his past five starts. He gave up three hits and three runs, all unearned, while striking out five.
"It's the worst thing in baseball for me as a pitcher, because you're giving a guy a free pass. You're not even making him swing the bat," Bannister said. "I'm always disappointed when I walk somebody. We got some double plays when we needed them and that was the key of the game."
Bannister, who had walked just 20 over 91 2/3 innings in his 16 prior starts, walked the bases loaded with one out in the second, but Clint Barmes' comebacker started an inning-ending double play.
"You get on, you've got to get in," Rockies manager Clint Hurdle said. "They were able to do it and we weren't able to do it with the couple of opportunities we did have.
"We clipped Bannister for three in the one inning, but we didn't get a lot of hits. More often than not, the jams that were created were of his own volition."
The Royals' hot streak has all come against National League clubs, and their 10-3 record is the best in interleague play.
Manager Trey Hillman said Bannister had "to battle" because of the free passes.
"It's uncharacteristic for him to walk that many and miss with fastballs and secondary pitches like he did," Hillman said. "Double plays were real important. It's always nice to get two outs with one pitch."
Teahen has eight home runs, one more than last season, and his two-out shot with Mike Aviles and Alex Gordon aboard highlighted a four-run first for the Royals. David DeJesus, who led off the inning with a triple, had already scored on Aviles' double.
"I'm far from a power hitter, but I knew last year wasn't what I needed to do with the power numbers," Teahen said. "It's nice some of the home runs are showing up at this point."
The Royals have scored 19 runs the past two games, prompting Teahen to say one of the poorest offenses in the major leagues has "hitting fever."
Rockies left-hander Jeff Francis (3-7) lasted just 4 1/3 innings, his shortest outing of the season, and gave up seven runs on seven hits and three walks. Francis continues to have trouble in the first inning, having allowed 19 earned runs in 16 starts.
"It's not me chalking it up to bad luck," Francis said. "It's me not making good enough pitches. I should be able to [correct it] during the game. A couple of those innings I felt like I did. I made some good pitches and got some quick outs."
Jose Guillen homered, doubled and drove in two runs for the Royals. He leads the majors with 28 doubles and ranks second in the American League with 60 RBIs and 41 extra-base hits.
Miguel Olivo snapped an 0-for-21 skid with a run-scoring double in the fifth to chase Francis. Ross Gload homered in the eighth for the final Kansas City run, his first home run since Sept. 3, 2007, at Texas, a span of 225 at-bats.
"It's not something we're used to. Three home runs in one game is unusual for us, especially here," Hillman said.
"It's hard to win when you give up eight runs," Holliday said. "I just don't think Bannister threw many balls in the middle of the plate. When he was throwing strikes it was on the corners. If you want to call it effectively wild, that's fine, but he was either on the corner or off the plate."
Guillen has 12 multi-hit games in his past 17. ... Royals 2B Mark Grudzielanek missed the game with soreness in his lower back. ... Hurdle, who was a first-round pick of the Royals in 1975, said this is his first trip back to Kansas City since 1981, when he was traded to San Francisco. "I haven't been back since I left," Hurdle said. "That sounds like a Yogi-ism." ... Baker was the National League player of the week, homering in four consecutive games, hitting in all six games and piling up a 1.043 slugging percentage.