The Pittsburgh Pirates and visiting Miami Marlins will play the rubber match of a weekend series Sunday after two very different types of games.

The Marlins won the opener 8-1, and the Pirates took the middle game 1-0 on Saturday.

In the series finale, Miami right-hander Sandy Alcantara (9-4, 1.76 ERA) is slated to face Pittsburgh right-hander Mitch Keller (3-7, 4.55).

It would appear to be a mismatch — the Marlins’ ace and All-Star against someone trying to secure a place in the big leagues.

However, Keller, 26, has allowed three or fewer earned runs in seven of his past nine starts after a stint in the bullpen.

On July 16 at Colorado, Keller took a loss but gave up one unearned run in six innings. He indicated he is feeling like a complete major league pitcher lately.

“It’s just consistency and confidence, and just really keeping hitters off balance,” he said.

Against Miami, Keller is 1-0 with a 2.53 ERA in three career starts. The win came July 11 in Miami when he allowed one run and pitched a career-high seven innings.

Alcantara, also 26, has been stellar — and dependable as an innings-eater, which could be critical on Sunday after the Marlins used six pitchers Saturday. He has pitched at least seven innings in 13 straight starts, tying a franchise record.

“There’s not much to say on just how good he’s been,” Marlins manager Don Mattingly said. “Obviously it’s been dominant. It’s going deep into every game. It’s just been dominant for the most part, even the nights he seems to be a little bit off. He’s still doing what he does. It’s one run, it’s deep in the game, and he battles.”

Alcantara was the victim of the Marlins’ recent scoring drought his last time out. He took a loss despite allowing two runs and four hits in eight innings July 15 against Philadelphia, with 12 strikeouts and two walks.

Alcantara is 1-0 with a 2.89 ERA in five career games, four of them starts, against Pittsburgh, although none of them came this year.

The Pirates, in addition to trying to be competitive in a down season, continue to reshape their roster with the trade deadline approaching.

On Saturday, a day after dealing designated hitter Daniel Vogelbach to the New York Mets, they traded catcher Michael Perez to the Mets for cash considerations.

Pittsburgh also activated outfielder Greg Allen, who had been out since sustaining a hamstring strain during spring training. Allen started Saturday in his Pirates debut and was 1-for-4.

Miami, which has been shut out in four of its past five games, also made a couple moves, but they were in-house.

Outfielder Jorge Soler went on the IL because of back spasms, and outfielder JJ Bleday was added to the roster. Bleday, the Marlins’ first-round draft pick (fourth overall) in 2019, entered in the seventh and walked in his first big-league plate appearance in the ninth.

In addition, Miami’s touted prospect Max Meyer, in his second career start, left Saturday’s game in the first inning because of right elbow discomfort, and Marlins All-Star first baseman Garrett Cooper left Saturday’s game when he was hit by a pitch on his right wrist while pinch hitting in the eighth.

–Field Level Media