Alex Gordon and Salvador Perez each homered and Jason Hammel earned his first victory of the season as the Kansas City Royals beat the St. Louis Cardinals 5-1 on Tuesday night.
Hammel (1-5) has been winless in his previous 13 starts dating back to his last win Sept. 6, 2017. Hammel also had been winless in his previous seven road starts.
He went seven innings, giving up nine hits and a run to help the Royals win for the second time in 10 games. He struck out six and hit a batter with no walks.
Luke Weaver (3-4) pitched seven innings in his first career outing against Kansas City. He allowed seven hits and struck out eight against one walk.
Gordon added two singles in a 3-for-4 night after entering the game hitless in his previous 14 at-bats. He was in a 4-for-40 skid that dated back to May 9.
Kansas City is 1-3 in interleague play this season. The Royals had lost their last five games against St. Louis and are 4-10 against their cross-state rivals in interleague play dating back to May 24, 2015.
Besides hitting the home run, Perez threw out two baserunners.
Kansas City went ahead 2-1 in the fourth on a two-out double by Alcides Escobar, who snapped an 0-for-9 skid with a single in the second inning. Whit Merrifield walked with one out and went to third on a single to right by Gordon. Escobar, who went 3-for-4, lined a 3-2 off-speed pitch to left to drive home Merrifield.
A leadoff homer by Perez in the sixth gave the Royals a 3-1 edge.
Kansas City added two runs in the ninth of reliever Greg Holland, a former Royal, who did not get any of the four batters he faced out.
St. Louis took a 1-0 lead in the first on a double steal. With two outs, Jose Martinez singled and went to third on Marcell Ozuna's single. Ozuna took off for second and Perez faked a throw to second. Martinez started home but stopped. Perez threw to third baseman Mike Moustakas, who dropped the throw, allowing Martinez to score.
Gordon homered with one out in the second to tie the game.
Tommy Pham, who has been the Cardinals' best player this year, did not start Tuesday. He is 0-for-8 with six strikeouts in the last two games. His average has dropped 40 points in the last 10 days to .303. Rookie Tyler O'Neill started in center. Dexter Fowler, who did not play Monday, led off and played in right. He went 0-for-4.
With his start, Escobar had made 381 consecutive starts. It is the longest streak in Royals history and the longest active streak in the major leagues.
Royals: 1B Lucas Duda (right foot plantar fasciitis) is eligible to come off the 10-day disabled list Thursday. Duda is batting .256 with four home runs and 19 RBIs in 37 games this season.
Cardinals: C Yadier Molina continues to recover from a traumatic hematoma sustained when he was hit by a foul ball earlier this month. "He's seeing the doctor on Thursday," said St. Louis General Manager Michael Girsch said of Molina. "That's how fast we will get some guidance on when he can start doing physical activity. He's been on significant rest so it's hard to project until he can start jogging and stuff like that." ... Greg Garcia, 28, who left Monday's game in the sixth inning with lower back tightness was not in the lineup Tuesday. He is listed as day to day. Garcia is hitting .241 with two home runs and nine RBIs in 36 games as the Cardinals' utility man.
Royals: RHP Jakob Junis (5-3, 3.51) will be facing the Cardinals for the first time in his career. He's 2-0 with a 2.95 ERA in three starts against National League teams, all coming in 2017. He has allowed two or fewer runs and worked at least six innings in three of his road starts this season.
Cardinals: RHP Michael Wacha (5-1, 3.08) has limited opponents to two runs or less in each of his last six starts (2.06 ERA). He won his 50th career game in his last start making him the 11th-youngest pitcher to reach that milestone since 1900.