Arroyo (11-9) allowed two hits, struck out seven and walked none in his second straight win. The crafty right-hander retired his first nine batters and faced the minimum through six innings.
The Cubs wasted a solid start by Chris Rusin (2-2) in their fourth straight loss. The left-hander allowed two runs and three hits while throwing just 76 pitches over six innings.
PIRATES 5, CARDINALS 1
ST. LOUIS (AP) — Francisco Liriano was dominant coming off the worst outing of his career and the Pirates got home runs from Pedro Alvarez and Garrett Jones in a victory over the Cardinals.
The win snapped a season-worst four-game losing streak and gave Pittsburgh a three-game lead in the NL Central.
Liriano (13-5) allowed four hits with six strikeouts and needed just 94 pitches to beat the Cardinals for the second time this year.
Matt Carpenter doubled and scored on a groundout by Carlos Beltran in the ninth to snap Liriano's shutout bid. He settled for his second complete game of the year.
Alvarez hit his 29th homer an estimated 440 feet to straightaway center leading off the second against Miller (11-8), and with one out Jones lined his 11th over the right field wall estimated at 392 feet.
ROCKIES 4, PADRES 2
DENVER (AP) — Jorge De La Rose pitched seven solid innings, catcher Yorvit Torrealba completed a remarkable double play by tagging out two runners and the Rockies hung on to beat the Padres.
Corey Dickerson doubled twice, tripled and drove in two runs. Troy Tulowitzki had two hits and a pair of RBIs as Colorado completed a 5-1 homestand.
De La Rosa (12-6) allowed two runs on eight hits in running his record in eight day-game starts this season to 6-0 with a 1.57 ERA. He struck out six and walked one.
Andrew Cashner (8-7) gave up three runs on six hits in seven innings. He struck out seven and walked none.