KANSAS CITY -- When Billy Butler's drive sailed down the right-field line, Dustin Moseley couldn't have imagined that would hold up as the evening's deciding blow. He was just hoping it curved a little more foul.

But fortune wasn't on his side in a soggy affair on Friday at Kauffman Stadium. Butler's shot clanged off the foul pole and stood as the difference, helping the Royals wait out a long rain delay and sink the Yankees, 4-3.

"When it came off the bat, I thought it was definitely going to be foul," said Moseley, who was chased by a two-hour, 10-minute rain delay in the fifth inning. "I didn't think it was going to go that far, but it just kept going."

While the tarpaulin covered the diamond through an impressive downpour and lightning show, Butler's 11th home run of the year appeared as though it might turn out to be a game-winning shot, lifting the Royals to lead what was now an official game.

But after the contest had also been held up by a 31-minute delay before the bottom of the third, crew chief Gary Cederstrom gave the clubs every opportunity to finish what they started. What remained of the crowd of 30,680 was rewarded with a regulation contest resuming just after 12:30 a.m. ET.

"It's tough. It seems like every year there's going to be one of these games," said Yankees designated hitter Lance Berkman. "You're going to get it somewhere, and it's going to be brutal and you're going to sit around forever. You try to come back and re-establish some momentum."

In that department, the Yankees sputtered. With Moseley done after 4 1/3 innings of four-run, eight-hit ball, New York's bullpen was excellent, with Chad Gaudin hurling 1 2/3 scoreless frames before yielding to Kerry Wood, birthday boy Boone Logan and Joba Chamberlain.

But with the game time temperature dropping from 98 degrees to 73 at the resumption of the second delay, the cooler bats couldn't get going with any runs off Kansas City relievers Jesse Chavez (two innings), Blake Wood (one inning) and closer Joakim Soria (one inning).

"The [Yankees'] bullpen did a great job. They gave us 4 1/3 innings, shut them down and gave us a chance to win the game," manager Joe Girardi said. "We lined out some times. Our at-bats weren't bad. We just didn't get the hit when we needed it tonight."

With Moseley's control eluding him early, Kansas City took advantage of the right-hander's tendency to pitch high in the strike zone in the second inning, pounding him for three runs.

Yuniesky Betancourt clubbed a two-run double and Jason Kendall picked up a sacrifice fly, though Moseley settled down after the first rain delay.

"I was just missing with everything," Moseley said. "Everything was elevated early on. After the break I went back out and looked at some video and got working down in the zone. I started getting some outs."

Girardi said that Moseley seemed to regain command of his curveball after the delay, but that didn't help when he fell behind Butler and had to throw him a 2-1 cookie of a fastball.

"Off the bat, I knew I hit it good but it's tough to say, especially down the right-field line. I thought it was a double off the bat but, obviously, we had a little help from the wind," Butler said. "It hit about a third of the way up, so it definitely had a little help."

The Yankees got to Royals starter Kyle Davies for three runs in five innings, with all of their damage coming in the third inning.

Alex Rodriguez followed a Curtis Granderson single and Mark Teixeira's double with a run-scoring infield hit to second base, and Robinson Cano punched an RBI single to right field that cut the deficit to one run. Berkman knocked a run-scoring double that tied the game.

After spending the longer delay in the clubhouse watching the Red Sox battle the Rangers on television, as well as playing cards and attacking the clubhouse buffet, the Yankees had their chances to battle back from Butler's deciding blow, but weren't able to.

"We just tried to get the motor started again. Sometimes it's tough when you've got some older guys getting a little more stiff," Berkman said.

New York left two men aboard in the sixth inning, and pinch-runner Ramiro Pena reached second base in the eighth despite being picked off when the shortstop Betancourt botched a rundown play.

New York caught yet other break in the ninth against Soria, when Kendall -- celebrated before the game for being just the fifth Major League backstop to catch 2,000 games -- dropped a Teixeira popup behind the plate that would have been the second out.

But Teixeira struck out anyway against Soria, and though A-Rod extended the inning with a single that moved Derek Jeter to third base with the tying run, Cano grounded out weakly to second base to cap Soria's club record 25th consecutive save and his 32nd overall.