PHILADELPHIA — Greg Holland had plenty of juice on pitches that just missed the strike zone. The one he got over the plate cost him the game.
Pinch-hitter Kevin Frandsen hit a bases-clearing, three-run double with two outs in the ninth off closer Holland to lift the Phillies to a 4-3 victory over the Kansas City Royals on Saturday night in front of the smallest crowd in Philadelphia in four years.
The Phillies had just two hits and trailed 3-1 to start the inning. Holland (0-1) walked Chase Utley, Ryan Howard and Michael Young to load the bases. He then struck out Domonic Brown swinging and fanned John Mayberry Jr. looking.
But Frandsen ripped a first-pitch fastball to right-center to knock in all three runners. Young slid in safely well ahead of the throw and the dugout emptied as players mobbed Frandsen.
"You can't walk the bases loaded," Holland said. "At some point, you've got to command the strike zone better."
Holland was pumping fastballs up to 97 mph. His last pitch was on the outside corner, but Frandsen was prepared and took it the opposite way.
"He started Brown and Mayberry with fastballs away," Frandsen said. "You feel you're only going to get one pitch to hit, if that, and you hope to hit it."
Royals manager Ned Yost didn't consider taking his closer out.
"He had his best stuff of the year," Yost said.
Royals starter Luis Mendoza threw six stellar innings, and the Royals' bullpen went into the ninth with seven hitless innings in the series.
Antonio Bastardo (1-0) pitched a scoreless ninth to earn the win. John Lannan was sharp in his Phillies debut. He allowed three runs and five hits, striking out five in seven innings.
Mendoza allowed one run and two hits, striking out seven.
"I've been working on my breaking pitches," Mendoza said. "That's how I got strikeouts tonight."
The Phillies are 2-3 and were looking more like the team that went 81-81 last year after winning five straight NL East titles from 2007-11.
Then came the ninth-inning rally. There weren't many fans left to witness it.
A crowd of 39,475 at Citizens Bank Park was the first under 40,000 since April 29, 2009, when 36,351 came out for a game against Washington. The Phillies led the majors in attendance each of the last two seasons.
Lannan was cruising along with a no-hitter until the fifth. He hit Lorenzo Cain with a pitch to start the inning and Jeff Francoeur followed with a double down the left field line. Miguel Tejada drove in a run with a groundout to second base and Elliot Johnson singled in a run for a 2-0 lead.
Making just their third trip to Philadelphia, the Royals will try to win the rare interleague series Sunday afternoon. They last played here in 2004.
The Phillies beat Kansas City to win the 1980 World Series and claim the franchise's first of two championships. They clinched the title with a victory in Game 6 at old Veterans Stadium.
Lannan retired the first nine batters he faced before Alex Gordon reached on second baseman Utley's fielding error in the fourth.
The Phillies cut it to 2-1 when Ben Revere lined an RBI single off third baseman Tejada's glove with two outs in the bottom half.
Francoeur led off the seventh with a double to right-center and Tejada followed with a double down the right-field line to make it 3-1.
NOTES: Billy Butler started at first base instead of Eric Hosmer, who was 4 for 5 with three RBIs on Friday. Yost planned to start Butler, the team's DH, against Lannan instead of the left-handed hitting Hosmer. ... Francoeur is 15 for 28 off Lannan with six doubles. ... RHP James Shields (0-1) faces LHP Cole Hamels (0-1) in the series finale. Shields is going for his first win with the Royals.
Follow Rob Maaddi on Twitter: https://twitter.com/RobMaaddi