Replay didn't sway umpires, and Billy Butler got away with a home run.

Butler's controversial round-tripper capped a four-run third inning, helping the Royals to a 5-4 win over the New York Yankees. Alex Gordon clubbed a three-run shot earlier in the frame, as Kansas City avoided a sweep.

Joakim Soria labored through a 40-pitch ninth inning and gave up a run. Jorge Posada, who was celebrating his 40th birthday, batted with the bases full and fanned looking to end the game.

The Royals broke a four-game slide and won for just the second time in their last 10 games, thanks in part to the apparent umpiring gaffe.

Mike Moustakas doubled high off the wall in right and Alcides Escobar singled. Gordon then homered to right-center for a 3-2 lead, and controversy ensued one out later.

Butler hit a ball to left-center field, and replays showed the ball, on a downward trajectory, hit off the top of the padded green wall and bounced back in play.

Immediately after second base umpire Dana DeMuth ruled home run, Yankees manager Joe Girardi came out to argue the call and the umpires went to replay for over five minutes.

When the umpires returned to the field, Butler bent down to grab his helmet, as if he was going to be called to second base for a double. Instead, Girardi and the rest of the Yankees in the dugout appeared shocked the call wasn't reversed.

Curtis Granderson and Russell Martin homered for New York, which had won three in a row. Derek Jeter had four hits and scored once for the Yankees, who lead Boston by a half-game for first in the AL East.

Bruce Chen (8-5) yielded seven hits and three runs over six innings, and won his third straight start. Soria notched his 22nd save.

Bartolo Colon (8-7) allowed seven hits over five frames and lost for the first time in five outings.