CHICAGO, Ill. (AP) — Alfonso Rivas had three hits and five RBIs, and the Chicago Cubs stopped a four-game slide by pounding the Pittsburgh Pirates 21-0 on Saturday.

Rivas, who was recalled Friday from Triple-A Iowa, capped Chicago’s eight-run second with a three-run homer. He tacked on RBI singles in the fourth and fifth.

The Cubs finished with 23 hits in their most lopsided shutout win dating to at least 1901. Nico Hoerner collected a career-high four hits, and Seiya Suzuki, Willson Contreras and Ian Happ had three hits apiece.

Each played that batted for the Cubs (7-8) collected at least one hit and scored at least one run.

It was more than enough support for Kyle Hendricks (1-1), who pitched seven innings of two-hit ball. Sean Newcomb worked the eighth in his Cubs debut and Scott Effross finished the three-hitter.

The Pirates (7-8) have lost four of their last six games.

Zach Thompson (0-2) was tagged for nine runs — four earned — and nine hits in two innings.

Thompson allowed four consecutive hits with one out in the second before shortstop Kevin Newman committed errors on consecutive plays. Newman has been charged with four errors in 12 games after making three in 132 games in 2021.

The Pirates’ bullpen, which held the Cubs scoreless for 10 1/3 innings in the first two games of the four-game set, allowed 12 earned runs over the final six innings. Infielder/outfielder Diego Castillo pitched the eighth and allowed four runs.

Eighteen of the Cubs’ hits were singles. Suzuki, Contreras and Happ hit consecutive doubles to start a five-run fifth.

TRAINER’S ROOM

Pirates: 2B Josh VanMeter was scratched because of an illness.

Cubs: OF Clint Frazier (appendicitis) underwent successful surgery. “I got a pretty funny text back saying he’s ready to rake,” manager David Ross said. “He seems to be doing well.”

UP NEXT

Pirates RHP J.T. Brubaker (0-1, 9.82 ERA) pitches in the series finale Sunday. Brubaker allowed four runs in five innings Tuesday in a 5-2 loss to the Brewers.

Cubs LHP Justin Steele (1-1, 4.30 ERA) takes the mound. Steele was tagged for four runs in 2 2/3 innings Tuesday in a 6-5 loss to the Rays.