Rookie Keaton Winn threw six solid innings of one-run ball and the San Francisco Giants beat the Marlins 3-1 Wednesday afternoon to win their first series in Miami since 2016.

Winn (1-3) scattered four hits and struck out four. Thairo Estrada had two hits and scored the go-ahead run in the seventh, when he raced home on a double-play grounder hit by Nick Ahmed against reliever Declan Cronin (0-2).

“Definitely nice to get that monkey off my back,” Winn said of his first victory. “Tried not to think of it but knew it would come.”

Jorge Soler and Jung Hoo Lee had two hits and scored one run each for the Giants. Matt Chapman hit an RBI double in the eighth.

Rookie Keaton Winn throws six solid innings. Giants beat Marlins 3-1 to win  series | AM 1440 KYCR - Minneapolis, MN

The Marlins, who grounded into two double plays, dropped to an NL worst 4-15.

“These guys are fighting their tails off and working and we’re just not seeing the wins,” Marlins manager Skip Schumaker said. “That’s the most frustrating thing.”

Miami’s Bryan De La Cruz hit a solo homer to tie at 1-all in the sixth after Winn absorbed a comebacker to his left foot hit by Luis Arraez. The ball caromed to Estrada at second base, who threw Arraez out.

Rookie Keaton Winn throws six solid innings. Giants beat Marlins 3-1 to win  series - The San Diego Union-Tribune

Winn took several warm-up pitches and remained in the game. He then threw a 2-1 sinker that De La Cruz drove over the wall in right for his third homer.

“Felt it at first but once I stood up and put weight on it, it was fine,” Winn said. “I want to stay in the game as long as I can, especially when we had two outs.”

Winn’s outing ended after Giants catcher Patrick Bailey threw Jazz Chisholm Jr. out at second on an unsuccessful steal attempt to close the sixth.

“We needed some innings today. We were down several guys,” Giants manager Bob Melvin said. “He just pitched a great game when we needed him to.”

Rookie Keaton Winn throws six solid innings. Giants beat Marlins 3-1 to win  series - RMOutlook.com

Erik Miller relieved Winn and threw a perfect seventh, and Tyler Rogers got the three outs in the eighth. Camilo Doval closed for his third save.

“It’s always important to end a series and road trip with a win,” Estrada said in Spanish. “Hopefully this gets us going on a good stretch when we return home.”

Estrada gave San Francisco an early lead with his RBI double off Miami starter Trevor Rogers in the second. Rogers gave up one run and five hits and struck out six over 5 2/3 innings.

Rookie Keaton Winn throws six solid innings. Giants beat Marlins 3-1 to win  series – Winnipeg Free Press

It was the only game of Miami’s two-series homestand played with the roof closed. Through the Marlins’ first two homestands this season, the roof at loanDepot Park has been open 10 of 13 games, already surpassing last season’s total of five.

The Marlins optioned RHP George Soriano to Triple-A Jacksonville and recalled Cronin from the same minor league club.