NEW YORK -- James Shields had a rough start and, as much as he settled down, he had some key assistance from Lorenzo Cain in center field.
It was so significant that Shields offered to treat Cain to a massage to help his teammate recover from doing more running than usual.
"Hats off to him," Shields said. "He made three unbelievable dives. He ran two balls down in the gap. He pretty much ran a little bit more than normal. So I told him, maybe I'll pay for a message or something."
Backed by four catches from Cain, Shields settled down after a slow start and pitched seven strong innings in leading the Kansas City Royals to a 3-1 win over the New York Yankees Tuesday night at Yankee Stadium.
Shields (4-6) allowed one run and five hits while winning his first game at Yankee Stadium in over three years in another matchup with CC Sabathia (9-7).
Shields seemed as if he was going to continue his struggles at Yankee Stadium from seven seasons with the Rays as he allowed three straight singles to Brett Gardner, Ichiro Suzuki and Robinson Cano before getting an out in the first. After getting one out, he gave up a single to rookie Zoilo Almonte that loaded the bases.
The threat ended when Cain tracked down a long drive by Eduardo Nunez for the final out of the first. Cain also tracked down another drive by Nunez for the second out of the fourth, made a sliding play on a fly ball by Chris Stewart for the first out of the fifth and caught Lyle Overbay's fly ball for the first out of the seventh.
Cain said that the second catch was his most challenging because he had to make an adjustment on the run and, when asked if he would take Shields up on the massage offer, said "sounds good to me."
Those catches were part of an outing that saw Shields allow just two base runners the rest of the way after the first and hold the Yankees hitless in their final 17 plate appearances against him.
"That's what's going to win games for us," Kansas City right fielder David Lough said. "You can't just rely on offense and great pitching. It's going to take plays on defense to win for us."
Shields spent most of the night pitching with a 1-0 deficit but that changed quickly when Lough led off the sixth with a home run and Billy Butler led off the seventh with his second go-ahead home run in as many nights.
"I got one today, I got one yesterday," Butler said. "It was good to give Shields the lead. After the first he was lights out."
"Fastballs in," Sabathia said of the home runs. "Just a situation where I don't want to get beat with fastballs in and I made that mistake."
The home runs gave Shields his second win in eight starts, a stretch that has seen him record six no-decisions since June 1.
"Forget the record, the record has nothing with how he's pitched," Royals manager Ned Yost said. "Look at his ERA, look at his innings pitched. He's been as good as you would hope a No. 1 starter can be."
The Yankees lost their third straight following a season-high six-game winning streak. They wasted another decent outing from a starting pitcher as Sabathia went the distance, allowing three runs and seven hits in his 37th career complete game.
"I think they're pitching pretty good," Yankees manager Joe Girardi said of his starters. "I don't see anything that they're doing that is they're not attacking the strike zone, trying to do too much. I have not seen it. They're going out and throwing pretty good ballgames is what they're doing. We're just not scoring runs."
The Yankees had one hit in their final 24 plate appearances with the biggest out an inning-ending strikeout by Cano in the eighth on a nasty changeup. Fittingly the game ended with Mike Moustakas making a spinning maneuver into fair territory to preserve Greg Holland's 22nd save in 24 chances.
NOTES: SS Derek Jeter had the day off from his rehab assignment with Class AAA Scranton-Wilkes Barre. He will resume playing Wednesday and the Yankees feel that they need to see how his ankle handles playing consecutive games twice in the field before they can consider activating him. ... 3B Alex Rodriguez appeared in his fifth rehab game and third with Class A Tampa. He went hitless in three at-bats (two strikeouts and a groundout) against Dunedin in a game that was resumed from June 30. ... Former Kansas City OF Jeff Francouer cleared waivers and signed a minor-league contract with the San Francisco Giants. ... Both teams had issues with plate umpire Angel Hernandez's strike zone at times and he pointed to the Yankees bench and appeared to warn hitting coach Kevin Long at one point. Afterwards, Girardi said he was yelling at Hernandez to take some pressure off of Cano.