Hosmer had three hits and doubled in the winning run in the ninth inning to lift Kansas City to a 7-6 victory over the White Sox on Friday night that extended the Royals' winning streak to six games.
His liner over the head of left fielder Juan Pierre scored Alex Gordon, who led off the inning with a single. After Melky Cabrera's sacrifice bunt moved Gordon to second, Billy Butler was walked intentionally.
"Billy is one of the better hitters in this league," Hosmer said. "It's a smart thing to do with a lefty on the mound and a lefty on deck. I kind of knew it was coming."
Hosmer fouled off Matt Thornton's first pitch before his double on the next offering.
"He throws a lot of fastballs and throws so hard," Hosmer said. "You've just got to sell out on that with him. After that first one, I was pretty late. Fortunately enough I got the hit over his head and we win the ballgame.
"I knew I hit it pretty good. (Pierre) was kind of drifting back. I was just hoping at that point. Then I finally saw him leap up and the ball get under. It's just a great feeling, six in a row and try to keep this thing rolling."
It was the 12th walk-off victory for the Royals, but their first since July 23. Hosmer was mobbed by teammates on the field.
"I got beat up pretty good," Hosmer said. "You're just so happy when you get a walk-off win. You can't even feel it. You just look for the bruises later."
The last time the Royals won six consecutive games was May 2-7, 2009.
"Hopefully we can keep this streak up and go into the offseason looking good," Gordon said. "We know we're not in the race, but we're still going out and playing hard and trying to win games. Nothing has changed. Just because we're out of the race, doesn't mean we're not going to compete."
Greg Holland (5-1) worked the ninth to pick up the victory. Thornton (1-5) took the loss in the White Sox' sixth straight defeat.
"I like being in the game in crunch time," Holland said.
Moustakas, who had a minor league-leading 36 home runs last year, hit Philip Humber's 2-1 pitch into the right-field bullpen for his third home run with Francoeur aboard in the fourth. After going 281 at-bats without a home run, Moustakas has hit two in his past three games.
Francoeur singled home Butler in the first and Hosmer in the fourth. Francoeur led off the sixth with a single off Humber's hip, advanced to third on Moustakas' single and scored on Johnny Giavotella's fielder's choice grounder. Butler drove in Gordon with a first-inning single.
"It got me in the hip," Humber said. "It hit me pretty squared up."
Royals starter Felipe Paulino allowed three runs on seven hits, while walking three and striking out three. He left with a 6-3 lead that the bullpen failed to hold.
Humber, who was 1-0 with a 1.26 ERA in his previous three starts, gave up six runs on nine hits and two walks, while striking out four in six innings in a no-decision. That matched the most runs Humber had permitted this year.
"Besides the home run to Moustakas, he threw the ball pretty good," White Sox manager Ozzie Guillen said. "I think we should put up a screen when he's pitching. It's scary. Every time he goes out there, man, the ball's close to him. He threw the ball well. He had a tough time late in this game. I left him in there to solve his problem, and he did a pretty good job."
A.J. Pierzynski, who had three hits Thursday, drove in two of the White Sox' runs with a sacrifice fly in the first and a single in the seventh.
Alexei Ramirez had three singles and drove in a run in the fifth for the White Sox.
White Sox DH Adam Dunn is 3-for-84 against left-handers, an .036 average. He has struck out 161 times, which is the second-highest total in franchise history. Dave Nicholson holds the club record with 175 in 1963. ... The Royals have four players with 80 or more RBIs -- Francoeur 80, Butler 89, Gordon 85 and Cabrera 82 -- to match a club record. It was the fifth time in franchise history they had four players drive in 80 runs. They last accomplished that in 2002 with Carlos Beltran, Raul Ibanez, Mike Sweeney and Joe Randa. ... White Sox rookie RHP Zach Stewart will make his 10th start of the season Saturday. He lost his only start to the Royals on Aug. 12 at Chicago, allowing two runs and seven hits in 6 1/3 innings. ... Rookie LHP Everett Teaford will make his second big league start Saturday. He threw five scoreless innings Sunday to win at Seattle.