KANSAS CITY, Mo. -- Given where the Kansas City Royals are, manager Ned Yost will savor any victory.
"Ugly, come on. How can you call that game ugly?" Yost said. "It's a beautiful win. Against a team of that caliber and as hard fought as this series was and for us to come up with nothing going into today, it's a beautiful win."
With the score 6-6, Michael Kirkman (0-2) walked Billy Butler leading off the 10th. Gonzalez, who entered in the ninth when Elvis Andrus left because of a sore shoulder, booted a routine grounder by Salvador Perez as pinch-runner Eric Hosmer advanced.
"The first pitch, he hits a double-play ball, but it was such a rocket the shortstop booted it," Yost said. "We're due one of this wins every once in a while."
Jeff Francoeur took a ball and then grounded to third. Olt, who made his major league debut Thursday, threw the ball into right field as Hosmer came home.
"There's no ugly win," Francoeur said. "They're all beautiful."
Kansas City, with the poorest record in the AL, improved to 45-62.
Texas dropped to 13-15 since the start of July as its four-game winning streak ended.
Greg Holland (4-3) threw 46 pitches in two innings, working around three hits and two walks.
"Holland had a gutsy effort," Yost said.
Texas had threatened in the 10th, loading the bases with one out. But shortstop Alcides Escobar made a diving catch to his right of Mitch Moreland's line drive for the second out,and Holland struck out Olt on a 3-2 pitch.
Olt walked leading off the ninth, stole second and took third on a throwing error by Perez, the Royals catcher. But Andrus failed to get a bunt down and Olt was out at home on the failed squeeze attempt.
"It wasn't a good pitch to bunt, but you have to go down with it and make contact," Rangers manager Ron Washington said. "I know it was a pretty bad pitch, but it's a squeeze. You have to make contact any way you can. They didn't sniff it out; it just happened to be a bad pitch. You've got to make contact with it."
Derek Holland gave up six runs and eight hits in six innings -- he allowed two homers, raising his total to nine in his last four starts.
"I didn't give my team a chance to win," Holland said. "They scored some runs and I gave them back. It was pathetic. I'm very upset with myself. I'm supposed to step up and I threw like garbage all day."
Royals starter Luke Hochevar gave up five runs -- one earned -- and four hits in six innings. He threw first-pitch strikes to 15 of his first 16 batters.
Perez hit a two-run double with two outs in the first, but a throwing error by Butler on David Murphy's grounder led to four unearned runs in a five-run fourth.
Adrian Beltre singled in a run, ending a streak of 12 games without an RBI -- his longest since going 15 games without any starting the 2006 season. Beltre's hit scored Josh Hamilton, who led off the inning with a double, and stopped an 0-for-15 slide with runners in scoring position.
Olt hit a sacrifice fly to the right-field warning track with the bases loaded, and Andrus hit a two-run triple.
Butler singled in a run in the bottom half, Francoeur's fifth-inning homer cut the gap to 5-4 and Brayan Pena hit a two-run homer in the sixth to put the Royals back ahead. Four of Pena's 14 career home runs have been against the Rangers, his most against any club.
Rangers RHP Mark Lowe is scheduled to throw one inning Monday for Triple-A Round Rock on a rehab assignment. Lowe went on the DL June 29 with a right intercostal strain. ... LF Alex Gordon was not in the Royals lineup for the first time since April 9, a span of 102 consecutive starts. Lorenzo Cain, who had started 18 games in center and six in right, made his first start in left. ... RHP Yu Darvish, who has walked 20 in 31 2/3 innings in going 1/3 with a 6.82 ERA since July 1, will start Monday for the Rangers at Boston. "Command has always been the issue, not his stuff," Washington said. "That's since he's been here. That's the one thing he's fighting. We're doing everything we can and he's doing everything he an. Sometimes it's a quick fix and sometimes it's not a quick fix." ... Royals RHP Luis Mendoza will start Monday at Chicago to begin a seven-game trip.