KANSAS CITY, Mo. -- Royals manager Buddy Bell has seen a lot during a dismal first part of the season for Kansas City. He didn't know what to make of this one.
David DeJesus drove in four runs, Matt Stairs hit a three-run homer and Kansas City made up a seven-run deficit in a 16-12 win over the Texas Rangers on Thursday night.
DeJesus finished 3-for-5 and scored three runs, and Mark Teahen went 4-for-4 for the Royals, who snapped a nine-game home losing streak. Every player in Kansas City's starting lineup had at least one hit and scored at least one run.
"I have a tough time figuring this one out," Bell said. "That was some kind of effort. After going ahead 4-0 and then 11-4 down and battling back, especially after not getting it back all at once, we just kept pecking away at it."
Ian Kinsler hit a three-run homer and a sacrifice fly in the Rangers' eight-run third inning. Mark DeRosa and Gary Matthews Jr. each had three hits and two RBIs for Texas.
The Rangers led 11-4 before Kansas City scored four runs in the bottom half of the third. The Royals scored single runs in the fourth and fifth before pushing across six in the seventh inning to take a 16-11 lead.
Kansas City improved its major league-worst record to 15-43.
"You win some games that look pretty bleak, and you lose some you think you've got a pretty good chance to win," Texas manager Buck Showalter said. "In between, we've done a pretty good job."
DeJesus hit an RBI single, Doug Mientkiewicz added a two-run double and Stairs capped the big seventh inning with his fifth homer of the season to put Kansas City in front by five.
"Matty got a huge hit for us," Bell said. "Of course David and Dougie did as well. We've never had a problem with effort. We just haven't been able to get the big hits like we did tonight."
Both teams batted around in the third, which lasted 50 minutes. The teams combined for 22 batters, 13 hits and 12 runs in the inning. The teams combined for 23 hits in the first three innings, the most in the major leagues since Philadelphia and the Chicago Cubs combined for 24 on May 17, 1979.
Stairs said the Royals never looked at the game as a lost cause, even down seven. "I didn't see any heads dropping in the dugout," he said. "I don't think anybody was saying it was over. Everybody contributed tonight."
The Royals' 16 runs and 18 hits were both season highs. They batted around three different times. It was their largest comeback since Sept. 1, 2001, when they trailed Texas 7-0 before coming back to win 8-7 in 11 innings.
Jimmy Gobble (1-1) allowed two hits and one run in 1 1/3 innings to get the win.
Texas starter Kameron Loe allowed eight runs and eight hits in 2 2/3 innings. His counterpart, Kyle Snyder, didn't fare much better, giving up 10 hits and nine runs (five earned) in two innings.
The Royals jumped on Loe for four runs in the first. Mientkiewicz, Teahen and Reggie Sanders had RBI singles, and Emil Brown added a sacrifice fly.
The Rangers responded with three unearned runs in the top of the second. After a two-out error on Teahen, the Rangers strung together four straight hits. Matthews and Michael Young had run-scoring singles and Mark Teixeira doubled in Matthews.
Ron Mahay (0-1) took the loss for Texas. He yielded four unearned runs and two hits in two-thirds of an inning.
DeJesus homered off Scott Feldman in the fifth to cut the Texas lead to 11-10.
Texas LF Brad Wilkerson struck out in his first at-bat Thursday, extending his string to four straight strikeouts. He struck out in his final three plate appearances Wednesday night. Wilkerson, who finished 2-for-5 with an RBI on Thursday, leads the American League with 74 strikeouts. ... Young went 3-for-6 for his 26th multihit game of the season. ... The Royals' first 12 hits were singles before DeJesus' home run.