The packed house, lured by Fan Appreciation Night as well as the playoff hopes, saw the Royals fall behind immediately.
Ian Kinsler started the game with a triple to right-center field off Royals starter Jeremy Guthrie. Kinsler scored as the second batter, Elvis Andrus, grounded out to short.
Back-to-back walks and a ground ball that skimmed off the bag at second base contributed to the Rangers' two runs in the third inning.
"If that ball doesn't hit the back of the bag, we're still playing," Royals manager Ned Yost said.
There was one out when Guthrie issued back-to-back walks, each on four pitches, to Andrus and Alex Rios.
"I tried to stay down to Andrus and he was patient," Guthrie said. "He obviously wasn't swinging, so I fell behind on some pitches that were down. With him on base, I tried to overthrow a couple of pitches early to Rios. ... I didn't feel completely out of control but, obviously, I threw nine straight balls."
The ninth called ball was to Adrian Beltre, who grounded the next pitch up the middle and off the mound.
"I just missed it, I had a chance," Guthrie said. "It was to my left, just down underneath my glove. Kind of a changeup -- I thought it was hit harder than it was and it got through. We had two guys have a chance to make a play, and neither of us was able to do it."
The second guy was second baseman Emilio Bonifacio, who moved behind the bag and was prepared to start an inning-ending double play. Except the ball went off the back of the bag and rolled between his legs for a run-scoring single.
"Easy," Bonifacio said. "I think I should've caught it anyway. It hit the bag and stayed down. Maybe we'd have had a double play and maybe we'd still be playing."
But there was no double play, Rios was on third and scored on A.J. Pierzynski's sacrifice fly.
"It's a game of inches," Guthrie said.
Garza, obtained in July from the Cubs, wasn't looking like a guy who'd been 1-5 in his career against the Royals and had never won at Kauffman Stadium. Or a guy who hadn't won a game for more than a month.
Finally, with two outs in the Royals' fifth, Jarrod Dyson ignited the sellout crowd when he ripped a shot past first baseman Mitch Moreland and into the right-field corner, jetting to a triple. But he was left there as Alcides Escobar looked at strike three from Garza.
"He challenged everybody with the fastball and he was able to get away with it tonight," Dyson said. "Most of the time, when you challenge us with fastballs, you don't get away like that. He had his stuff working tonight. We didn't do as good of a job as we wanted to do on offense to back up Guthrie."
After the triple, the Royals got to Garza for just two more hits before Hosmer unloaded his home run, which stirred up another round of roaring from the eager crowd.
"Obviously, playing these guys with this crowd and this atmosphere, it was a nice win," Rangers catcher A.J. Pierzynski said. "We came out and jumped out early, and for Matt to shut them down, it was nice and it was necessary."
This is the Royals' last series with one of their competitors for the Wild Card and it ends on Sunday afternoon. After that there'll be just seven games left -- three at Seattle and four at Chicago.
They'll be missing the support from their hometown crowd in the final week.
"The crowd was into it the whole game," Dyson said. "It's always a good thing for the home team. Unfortunately, we didn't get the win for them or for ourselves, but we've got to bounce back and get them tomorrow."
Yost says he doesn't do the math to see how the Royals' postseason chances are shaping up.
"I go day to day. I don't look at anything," he said. "I look at what's it going to take for us to win tomorrow, and that's it."