ST. LOUIS (AP) — Bryan Reynolds had a three-run homer among his three hits, Chad Kuhl pitched six strong innings and the Pittsburgh Pirates snapped a nine-game losing streak against the St. Louis Cardinals with an 8-2 victory Thursday night.

Adam Frazier and Phillip Evans also homered for Pittsburgh in its first win over St. Louis since Sept. 18, 2020.

Kuhl (2-4) allowed one run and three hits with two strikeouts and three walks in six innings to improve to 2-3 in 10 career starts against the Cardinals.

“He is more in control," Pirates manager Derek Shelton said of Kuhl. “He's staying more focused. I think at times before when we saw him throw a bad pitch, it affected two or three pitches. Now if he throws a pitch where he doesn't want to, he comes back and executes the next pitch."

St. Louis has lost four in a row and 15 of its last 20 since June 2.

“I don't think we've necessarily done the greatest job of kind of making a game plan for how guys are going to throw us day by day and working on things pregame that are specifically tailored to prepare ourselves for that," Cardinals second baseman Tommy Edman said.

Carlos Martínez (3-9) allowed five runs and five hits with seven walks, including one intentional, in five innings. He is 0-5 with a 13.73 ERA and 17 walks over 19 2/3 innings in five starts in June.

Reynolds’ 13th home run of the season gave the Pirates a 5-1 lead. Reynolds has hit safely in nine straight games, going 17 for 36 (.486) in that span.

“I think it just comes back to my timing and getting my barrel ready to fire, not having it wrapped so far around my head,” Reynolds said. "I really think that’s it, just that will allow my barrel to get to the ball more consistently.”

Frazier homered off Wade LeBlanc to give the Pirates a 6-1 lead in the sixth inning.

Evans’ eighth-inning blast off LeBlanc was his fifth home run of the season and first career pinch-hit homer.

The first three Pirates reached base to start the game as Frazier walked, Ke’Bryan Hayes singled and Reynolds drove in Frazier with an RBI single.

“They’ve really done a nice job," Shelton said about the top of his lineup. “We didn’t have those guys for a long stretch of time and when we have it, they put up really consistent at-bats.”

Lars Nootbaar lined a single to center field in his first Busch Stadium at-bat to score Tyler O’Neill, cutting the St. Louis deficit to 2-1. Nootbaar made his major league debut Tuesday night in Detroit.

ON-BASE MACHINE

Hayes has reached base in 28 straight games dating to Sept. 19, 2020, including all 20 games he has played in this season. It’s the longest active streak in the majors, and the longest for a Pirates rookie since Arky Vaughan reached base in 33 straight games in 1932.

LINEUP SHUFFLE

Edman batted sixth in the lineup after leading off in his previous 71 starts. Rookie Dylan Carlson went 2 for 4 in his third start in the leadoff spot this season.

TRAINER’S ROOM

Pirates: RHP Luis Oviedo (left quad strain) worked out on the field before the game in St. Louis.

Cardinals: OF Harrison Bader (fractured rib) is playing in games at extended spring training in Jupiter, Florida.

UP NEXT

Pirates RHP Wil Crowe (0-4, 4.62 ERA) is looking for his first career win. He is 0-6 in 13 appearances, including 12 starts, since debuting with Washington last season. LHP Kwang Hyun Kim (1-5, 3.60 ERA) will start for St. Louis. He hasn't won since April 23 against Cincinnati. He's 0-5 in his last nine starts.

___

More AP MLB: https://apnews.com/hub/MLB and https://twitter.com/AP_Sports