ST. LOUIS — Jake Arrieta got some help from the Cubs' offence to stay perfect.

Arrieta remained unbeaten on the season despite allowing as many as four runs for the first time in nearly a year and the Chicago Cubs beat the St. Louis Cardinals 9-8 on Wednesday.

"I picked a good day to be (bad)," Arrieta said.

"I was aggressive but they had a good game plan coming in and it was a good thing our offence was able to be extremely productive today."

Arrieta (9-0) joined the White Sox's Chris Sale as the only nine-game winners in the majors.

Arrieta allowed four runs in a regular-season game for the first time since June 16, 2015.

"We grind whoever it is," Cardinals manager Mike Matheny said. "We acknowledge the fact that he's a good pitcher and has had a good start, but I think for us to give him too much credit and go up defeated it a bad route."

Arrieta became the first Cub to win his first nine decisions since Kenny Holtzman in 1967 and it is the best start to a season for the franchise since Jim McCormick went 16-0 in 1886.

The Cubs have won Arrieta's past 23 starts, a franchise record.

"There was not any good flow to his pitching today," Cubs manager Joe Maddon said. "You look at the gun everything's normal. The guy competes."

Kris Bryant hit a three-run homer and Jason Heyward and Ben Zobrist each drove in two runs for the Cubs.

Bryant drove a 3-2 pitch from Seung Hwan Oh about 411 feet in the sixth inning, giving the Cubs a 9-4 lead. Bryant has homered in three of his past six games.

The Cubs sent 11 men to the plate in a six-run second, five of the runs scored with two outs. Heyward's two-run double and Zobrist's two-run single capped the scoring as Cardinals starter Carlos Martinez threw 38 pitches.

Hector Rondon earned his eighth save.

Stephen Piscotty, hitting .360 in May, had an RBI single in the first to give the Cardinals a 1-0 lead. It was the first run Arrieta had given up in the first inning of a regular-season game since May 29, 2015.

Randal Grichuk's solo homer in the second inning cut the Cubs' lead to 6-2 and was the first homer Arrieta had given up in 51 regular-season innings, which was the longest active streak in the majors.

The Cardinals made it 6-4 in the fourth on RBI hits by Matt Adams and Grichuk and they loaded the bases again in the fifth, but Cubs third baseman Tommy La Stella bailed out Arrieta with a diving stop on Grichuk's grounder and forced Yadier Molina at second.

"I think that was one of the turning moments in the game," Bryant said. "The momentum could have completely changed. I think that was the play of the game."

Matt Holliday snapped a 3-for-39 slump with a three-run homer in the sixth to make it 9-7. Adams hit his second homer of the series in the seventh to cut it to a one-run deficit.

"Grichuk I mean is really swinging the bat well," Maddon said. "Adams got toasty at the wrong time and up and down their lineup Piscotty's a good player, (Aledmys) Diaz does swing the bat that well, they don't quit that's why they win championships."

Martinez (4-5) lost his career-high fifth straight start.

BUNDLE OF JOY

Cardinals' Matt Carpenter, hitless in 16 at-bats against Arrieta, was out of the lineup Wednesday because he was with his wife, who went into labour before the game with their first child. Kolten Wong hit in Carpenter's leadoff spot.

TRAINER'S ROOM

Cardinals: Acquired OF Jose Martinez from the Kansas City Royals for cash considerations and assigned him to Triple-A Memphis. RHP Mitch Harris (elbow) was moved to the 60-day disabled list to make room for Martinez on the 40-man roster.

UP NEXT

Cubs: LHP Jon Lester (4-3, 2.60 ERA) will kick off a 10-game homestand Friday against the Philadelphia Phillies. Lester is 4-0 with a 1.76 ERA in six starts against the Phillies.

Cardinals: RHP Mike Leake (3-3, 4.07 ERA) will make his 10th start of the season, starting a seven-game road trip at the Washington Nationals. Leake is 3-0 with a 0.86 ERA in his past three starts.