Center fielder Lorenzo Cain contributed four nifty catches, defensive replacement Elliot Johnson ranged a long way for a grounder and Kansas City backed Shields (4-6) with a pair of double plays.
Fittingly, the game ended on a fine, twisting grab by another defensive sub, third baseman Mike Moustakas.
CC Sabathia (9-7) gave up seven hits in his second complete game.
Once again, the Yankees had trouble scoring. They've managed exactly one run in each of their last three games—not since 2005 had they scored one run or fewer in three straight, STATS said.
The hitting slump left the Yankees with a three-game home losing streak for the first time since they dropped four in a row in late July 2012.
Lough led off the sixth inning with a tying home run and Butler opened the seventh with a go-ahead shot. Butler hit 29 homers last year and was an All-Star, but has slumped this season—he came into this series with six homers before connecting in the first two games.
Beset by a lack of run support, Shields had won just once in his previous 12 starts, and came in with a losing record despite a 3.23 ERA and ranking among the AL leaders in several pitching categories.
Shields gave up five hits—including three consecutive singles to start the game—in seven innings. He struck out five, walked two and retired his final 13 batters.
Greg Holland worked the ninth for his 22nd save, and second in two nights.
The Royals are trying to win a series at Yankee Stadium for only the second time since the beginning of the 2000 season. Thanks to Shields and the bullpen, they're 2-0 in this four-game set.
Shields improved to 8-15 against the Yankees after overcoming a rocky start. Brett Gardner led off with a bunt single and Ichiro Suzuki and Robinson Cano also singled for a run.
Shields didn't give up a hit after the second inning, sometimes pitching in rain and even hail.
Sabathia allowed only one hit until Lough homered. Butler's shot was the 20th homer yielded by Sabathia this season, second-most in the majors to the 21 off Kansas City's Jeremy Guthrie.
NOTES: Gardner's streak of striking out ended at a team-record 16 games. He snapped an 0-for-16 rut with his bunt hit. ... Yankees manager Joe Girardi said he hasn't ruled out rehabbing SS Derek Jeter from returning from the minors this weekend. ... Royals RHP Wade Davis (4-7, 5.42 ERA) starts Wednesday night vs. Yankees RHP Ivan Nova (3-2, 4.09). ... Cano's 32 hits off Shields are the third-most in the majors among an active hitter and pitcher, STATS said. Michael Cuddyer has 35 against Mark Buehrle, while Michael Young has 33 off John Lackey. If Manny Ramirez makes it back to the majors, his 36 off Andy Pettitte move to the top of the list.