KANSAS CITY -- Wet, certainly wild and quite wonderful for the Royals.

On a Monday night when rain soaked Kauffman Stadium and walks were as plentiful as umbrellas, the Royals rallied for a 12-9 victory over the Red Sox, ending their four-game winning streak. Kansas City has won 11 of its past 14 games. For Boston, the loss was just the second in its past 12 games.

"I've been saying all year that this team is as good as anybody," said the Royals' Billy Butler, who drove in two runs with two doubles.

"We just took it to a team that has a lot of awfully good players, and we just flat outplayed them tonight. That shows a lot of heart from our guys. That was just an awesome game to be a part of."

Not only did the Royals climb back from deficits of 6-0 and 8-2, the victory pulled them into sole possession of fourth place after 58 days of being in the cellar or tied for it. They're now a half-game up on the Indians in the American League Central.

"I like it," said manager Trey Hillman.

The decisive push came when, trailing, 9-5, the Royals forged ahead with a six-run sixth inning against relievers Manny Delcarmen and Daniel Bard. The crucial hits were Butler's RBI double, Alberto Callaspo's two-run double, Alex Gordon's game-tying double and Yuniesky Betancourt's two-run single that put Kansas City ahead.

Butler's second double -- his 49th this season -- knocked in the Royals' last run in the seventh. The bullpen wrapped things up with Jamey Wright throwing two scoreless innings and closer Joakim Soria getting his 27th save with a perfect ninth.

There was one wacky moment for Wright, though, when the wet baseball slipped out of his hand and a pitch sailed several feet, or perhaps yards, behind Red Sox batter Dustin Pedroia.

"I almost threw it their dugout," Wright said. "I wanted to laugh, but I couldn't really show my personality out there."

Wright walked Pedroia on the next pitch, but that was his only lapse as he steered the Royals toward victory.

The rainy night didn't start very well for Kansas City, though.

Left-hander Lenny DiNardo, making his third start for the Royals, was clipped for six runs in the third inning. The big blow was Jason Bay's three-run homer -- a 416-foot shot to left-center field -- that gave him 36 for the season.

When the Royals came to bat, a steady rain began, and Red Sox starter Tim Wakefield had trouble floating his knuckleball over the plate. As many of the 16,770 fans flipped open umbrellas or headed for cover, he walked three consecutive batters.

The Royals got just one run out of it, but here they showed the Red Sox they still meant business. Josh Anderson stole two bases in the inning and Willie Bloomquist swiped one. And in the fourth, even Miguel Olivo stole a base and then scored. And the fifth began with Bloomquist getting a walk and stealing second base.

First of all, Kansas City had to show patience against the unpredictable knuckler to get walks, and second, it needed to take advantage of the slow-moving pitch to steal bases.

"It's awful difficult to get recognition on where the knuckleball is going to end up, so there was a lot of discipline that figured into it," Hillman said. "The other thing that figured into it was the aggressiveness on the stolen bases, because that's what got us back rolling. We didn't have any hits on the board and we got a run."

In all, the Royals worked Wakefield for seven walks and swiped five bases while he was in the game. Kansas City was running despite his quick release time to the plate.

"But then you factor in the knuckleball and the difficulty and the fact that [catcher Victor] Martinez is using a first baseman's mitt back there and it takes a little longer to find the ball, so we wanted to give it a shot and it worked out to our advantage," Hillman said.

By the fifth, the Red Sox had built an 8-2 lead against DiNardo. Hillman, not wanting to decimate his bullpen resources, stayed with his starter through 116 pitches, six walks, eight hits and eight runs.

As rain pelted the field, Wakefield issued two more walks in the fifth, and Mike Jacobs caught one of his knucklers and drove it into the right-field stands for a three-run homer and an 8-5 score. It was his 18th of the year.

"After Jake's homer, we were, 'Hey, we're in this game, and with the weather conditions the way they were, anything could happen,'" Anderson said.

And they certainly did.

"I cannot explain how happy I am to see the hustle and the never-say-die attitude the offense had tonight," DiNardo said. "They never gave up, they ran everything out and took advantage of every mistake they made, and I couldn't be happier."

Despite the dicey field conditions, the defense pulled off some nice plays, too. Bloomquist, in right field, caught Kevin Youkilis' eighth-inning drive and ran face-first into a fence post. Ouch. And Luis Hernandez rushed in from second base for a quick flip that got pinch-hitter Casey Kotchman in the ninth.

On a sloppy night in the rain, things just turned the Royals' way.

"That's a game that means a lot to a lot of people in here," Butler said. "You just don't do that to the Boston Red Sox. That just doesn't happen very often."