It took over six hours — due to a rain delay that lasted more than three — but the Cardinals topped the Giants by a score of 3-1 on Wednesday evening in Game 3 of the NLCS at a wet Busch Stadium.

Cardinals right-hander Kyle Lohse was far from sharp, yielding seven hits and a season-high five walks, but the Giants failed to capitalize on multiple scoring chances and the St. Louis bullpen was again reliable. Jason Motte recorded a two-inning save, needing only 19 pitches to blow through the back and front ends of the punchless San Francisco batting order.

Matt Carpenter hit a third-inning two-run homer after coming in for the injured Carlos Beltran and outfielder Shane Robinson drove in the Cardinals’ third run on an RBI groundout in the bottom of the seventh.

Giants starter Matt Cain was pulled with two outs in the seventh — just before the rain struck — after allowing six hits and one walk. He struck out only two, matching his lowest strikeout total of the season.

The Cardinals will try to push ahead 3-1 in this best-of-seven series when Adam Wainwright squares off against Tim Lincecum in Game 4 on Thursday night. Beltran has a knee strain but might be able to play.

Paxton, 30, has been among the game’s better starters over the past few years. In 2018, he went 11-6 with a 3.76 ERA and a 208/42 K/BB ratio in 160 1/3 innings. The lefty has two more years of arbitration eligibility remaining after earning $4.9 million this past season.

Sheffield, 22, is the headliner in the Mariners’ return. He made his major league debut in September for the Yankees, pitching 2 2/3 innings across three appearances. Two of those appearances were scoreless; in the third, he gave up a three-run home run to J.D. Martinez, certainly not an uncommon result among pitchers. MLB Pipeline rates Sheffield as the Yankees’ No. 1 prospect and No. 31 overall in baseball.

Thompson-Williams, 23, was selected by the Yankees in the fifth round of the 2016 draft. This past season, between Single-A Charleston and High-A Tampa, he hit .299/.363/.546 with 22 home runs, 74 RBI, 63 runs scored, and 20 stolen bases in 415 plate appearances. He was not among the Yankees’ top-30 prospects, per MLB Pipeline.

Swanson, 25, was selected by the Yankees in the eighth round of the 2014 draft. He spent most of his 2018 campaign between Double-A Trenton and Triple-A Scranton/Wilkes-Barre. Overall, he posted a 2.66 ERA with a 139/29 K/BB ratio in 121 2/3 innings. MLB Pipeline rated him No. 22 in the Yankees’ system.

This trade comes as no surprise as the Yankees clearly wanted to upgrade the starting rotation and the Mariners seemed motivated to trade Paxton this offseason. To the Mariners’ credit, they got a solid return for Paxton, as Sheffield likely becomes the organization’s No. 1 prospect. The only worries about this trade for the Yankees is how Paxton will fare in the more hitter-friendly confines of Yankee Stadium compared to the spacious Safeco Field, and Paxton’s durability. Paxton has made more than 20 starts in a season just twice in his career — the last two years (24 and 28). The Yankees are likely not done adding, however. Expect even more new faces before the start of spring training.