Updated

Cole Hamels feels fine. His results, not so great.

Hamels gave up the first grand slam of his career and the Phillies' left-handed ace muddled through his second straight sub-par outing this season as Philadelphia lost to the Kansas City Royals 9-8 on Sunday.

Hamels allowed eight runs and nine hits in 5 2-3 innings.

"I feel good," he said. "I definitely have good feel with all of my pitches. Unfortunately, it's not showing."

Billy Butler did the greatest damage against Hamels (0-2), hitting a grand slam that was confirmed by video review. Butler tied a team record with seven RBIs.

"It's unfortunate because grand slams definitely put your team behind," Hamels said. "No matter how many runs you have, a grand slam is a definite momentum changer. That's obviously what it did today."

Butler's first career slam came in the fifth inning and put Kansas City ahead 6-4.

James Shields (1-1), acquired in an offseason trade with Tampa Bay, earned his first victory with the Royals. The right-hander gave up hits to five of the first six batters in a four-run first, but settled down to blank the Phillies for the next five innings on five hits while striking out eight and walking none.

The Phillies trailed 9-4 entering the ninth. Jimmy Rollins homered as Philadelphia rallied, but the comeback ended when Erik Kratz struck out with runners at second and third.

"The biggest thing is we know we're never out of a game," said Philadelphia's Michael Young, who had four hits. "That's going to bode well for us as the season progresses. But we didn't get the win, so that's still the important thing."

The Phillies staked Hamels to a 4-0 lead with four first-inning runs off Shields, but he couldn't hold it.

Hamels walked four and struck out two. On opening day, he gave up five runs and seven hits in five innings in Philadelphia's 7-5 loss at Atlanta.

"It's giving up runs, not giving the team the opportunity to win," Hamels said. "When we're able to score runs early, you want to be able to keep the team in the ballgame. I wasn't able to do that."

The three-time All-Star has a 10.97 ERA after two starts.

"He was throwing the ball close to the plate but command was a problem," Phillies manager Charlie Manuel said. "Cole usually doesn't walk guys and doesn't give up that many runs."

The fifth inning proved to be Hamels' undoing.

Chris Getz opened with a double, Alex Gordon reached on an infield single and Alcides Escobar walked to load the bases and set up Butler.

Butler hit a fastball just over the metal fence that tops the green padded wall in left field. The ball hit off a wall behind the field wall and bounced back into play.

The umpires originally ruled that the ball hit off the top of the wall before going to replay to confirm that it was a homer.

Butler came through with the bases loaded again in the sixth, hitting a two-run single off Chad Durbin. With the hit, Butler became the 12th Royals player to have seven RBIs.

Rollins started the ninth-inning rally by hitting a three-run homer to right off J.C. Gutierrez. Greg Holland relieved with one out and got Chase Utley to fly out before singles by Ryan Howard and Young put runners on first and second with two outs.

Reliever Kelvin Herrera gave up an RBI single to pinch-hitter Laynce Nix. After a wild pitch, Herrera struck out Kratz in a nine-pitch at-bat to earn his first save.

The Phillies struck out 14 times Sunday.

"We're going to be all right," Manuel said after the Phillies dropped to 2-4. "We have to put a solid ballgame together. It goes that way sometimes."

NOTES: The Phillies open a three-game home series against the Mets on Monday night. New York RHP Matt Harvey (1-0, 0.00) is scheduled to face Phillies RHP Roy Halladay (0-1, 13.50). ... Utley and Rollins have started 962 games together as double-play partners, ranking second among active combinations behind the Yankees' Derek Jeter and Robinson Cano (1,036).