Mike Sweeney's sacrifice fly in the ninth inning Monday night ruined Kansas City's chance to end its one-run road jinx, but the Royals will take their 4-2 victory over the Cubs just the same.
Raul Ibanez, Joe Randa and Carlos Beltran added RBI for the Royals, who won for the second time in 12 games. Dan Reichert gave up two runs and five hits in five innings, and Blake Stein, Tony Cogan, Cory Bailey and Jason Grimsley combined for three scoreless innings.
Former Ray Roberto Hernandez pitched the ninth for his 17th save in 21 chances.
The Royals have lost a major league-record 21 consecutive one-run games on the road, breaking the mark set by Pittsburgh in 1985 and 1986. They haven't had a one-run road win since July 26, 2000, when they beat the White Sox 7-6.
They came close as Ibanez, pinch-hitting for Reichert, drove in a run with a groundout in the sixth. But with one out in the ninth and runners at first and third, Sweeney hit a sacrifice fly to right to make it 4-2.
The Cubs, snubbed by Fred McGriff earlier Monday when he invoked his no-trade clause and chose to stay in Tampa Bay, sputtered again offensively. Delino DeShields hit a two-run double, but Chicago managed five hits and stranded eight.
Kevin Tapani gave up three runs, one earned, and six hits as he lost his sixth straight. Tapani, who opened 8-1, hasn't won since June 2, a span of seven starts.
But he isn't getting much help from his teammates, either. The Cubs have seven runs in those seven starts.
The Royals' win wasn't pretty _ they managed seven hits _ but it didn't need to be. They took advantage of a couple of Cubs gaffes to score in the third. With one out and Luis Alicea on first, Rey Sanchez hit a grounder to third.
But DeShields, playing third for the first time ever, whipped the ball over second baseman Eric Young's head and Alicea took third on the error. Beltran followed with a run-scoring single.