Santana (3-1), who was acquired in an Oct. 31 trade with Anaheim for minor-league pitcher Brandon Sisk, allowed six singles, struck out five and walked none. The Angels sought to trade Santana and his 2013 $13 million contract, which the Royals are paying $12 million, after he went 9-13 with a 5.16 ERA last year and yielded a major league high 39 home runs.

In his past two starts, he has yielded two runs on 13 hits, walked none and struck out 12.

"He's been pretty electric," Royals first baseman Eric Hosmer said.

Greg Holland, who logged his sixth save in seven opportunities, gave up two unearned runs in the ninth on a Michael Brantley two-out triple, which scored Mark Reynolds, who had an infield single, and Lonnie Chisenhall, who reached on Hosmer's error. Holland struck out Jason Kipnis to end the game.

"I was holding my breath at the end because Santana deserved that win," Hosmer said. "It was a great job by Holland picking me up there. That's what good teams do, pick guys up. That was big for us and a big win for the team.

"That's a mental mistake by me. I wanted to take a step back and throw to second. In that situation, up three, you're playing for outs with Holland on the mound. I learned from it. In that situation, you want to play for an out, step on first and then maybe try to throw to second. Luckily, it worked out for the better."

The Indians have scored three runs or less in eight of their past 10 games and 13 times this season, going 3-10 in those games.

Scott Kazmir (0-1), who was making his second big league start in two years, was charged the loss. He gave up two runs on five hits, while striking out four and walking two. In his previous start, the Indians scored 19 runs and were ahead 14-0 going into the bottom of the second at Houston, but Kazmir failed to get out of the fourth inning, giving up six runs on eight hits, including two homers.

Kazmir, a two-time American League All-Star selection while with Tampa Bay, pitched last season with the Sugar Land Skeeters in the independent Atlantic League and signed a minor league contact with the Indians in January. He won a slot in the Cleveland rotation after a strong spring training.

Perez homered just inside the right-field foul pole in the second inning on an 0-1 pitch from Kazmir after he walked Jeff Francoeur.

The Indians had five base runners in the second and third innings, but failed to score.

Drew Stubbs, Kipnis and Asdrubal Cabrera singled in the third, loading the bases with one out. Nick Swisher grounded into a double play to end the inning.

"That was big right there especially when I have that kind of stuff to keep the ball down," Santana said. "I threw the sinker down and away and got the ground ball double play."

Swisher led off the second with a single and Carlos Santana reached on a Miguel Tejada error. Ervin Santana struck out Reynolds and Chisenhall to end the threat.

"Santana was throwing the ball for strikes," Reynolds said. "We had pitches to hit; we just didn't do it. We were kind of rolling over on the pitches, maybe trying to do too much instead of just taking the base hits. He mixed it up really well. Every time I was sitting heater, he threw me a slider and vice versa. I don't think anybody is really pressing. We had opportunities but we just didn't do it."

The Indians used five relief pitchers in the seventh when the Royals added a run. Alex Gordon's two-out single was the only hit. The inning included Bryan Shaw walking the only two batters he faced and Rich Hill walking Hosmer, the only batter he faced, with the bases loaded to score Gordon.

Herrera replaced Santana and promptly gave up a leadoff double to Michael Brantley to lead off the eighth. Brantley went to third on a wild pitch, but was stranded.

"When you don't have a ton of opportunities, not getting those runs in is big," Indians manager Terry Francona said. "We got a runner at third and nobody out and didn't score."

Notes: The Royals will call up LHP Will Smith from Triple-A Omaha on Sunday as the 26th man for the day-night doubleheader with the Indians and he will start the second game. Smith went 2-1 with a 2.45 ERA in four Pacific Coast League starts. .RHP Corey Kluber will make his first start of the season in the nightcap for the Indians. He was rained out of his previous two starts. .RHP Jeremy Guthrie, who starts the opener, is 7-0 in his past 15 starts, dating to Aug. 8. LHP Paul Splittorff holds the Royals' record with 16 consecutive undefeated starts in 1977-78.