Logan Webb pitched three-hit ball over seven scoreless innings and had a two-run triple for his first career extra-base hit as the San Francisco Giants beat the Miami Marlins 4-3 on Sunday.

Mauricio Dubón added a pair of hits, including a squeeze-bunt single for San Francisco. Brandon Belt had a sacrifice fly and Jason Vosler collected his first hit in the majors.

CLICK HERE FOR MORE SPORTS COVERAGE ON FOXNEWS.COM

"Now I know why hitters like hitting so much," Webb said. "That was a lot of fun. I was definitely a little tired after I got to third."

Webb (1-1) matched his career-best with eight strikeouts and pitched with runners on base in six of the first seven innings but worked around the trouble each time. He allowed three singles and walked three.

Giants manager Gabe Kapler replaced Webb in the eighth after letting the right-hander take the mound to begin the inning. Webb didn’t throw a pitch and left to a standing ovation from the crowd of 7,572 at Oracle Park.

"Surprisingly I think there’s another gear for Logan," Kapler said. "There were some moments where he fell behind in counts, there were some misses to the arm and glove side that were substantial. I think there’s a better side to Logan and today was a step in the right direction."

Webb agreed.

"I’m still not where I want to be, honestly," Webb said. "A couple of the at-bats were sloppy. But I’m going to take a lot of positives from today and keep building on that."

Jesús Aguilar homered for the third consecutive day for Miami. The Marlins are 1-3 on their 10-game road trip.

"Another one of those frustrating days when you don’t seem to get anything going, then we get a single and the home run," Marlins manager Don Mattingly said. "It’s been dead spells."

Matt Wisler gave up Aguilar’s home run and retired three batters. Tyler Rogers allowed a two-out RBI single to Lewis Brinson in the ninth, then retired Jazz Chisholm Jr. on a groundout to end it for his second save.

Dubón’s squeeze hit scored Wilmer Flores, who drew a leadoff walk in the second and took third on Tommy La Stella’s single. Webb followed with a liner off Paul Campbell (0-1) that sailed into Triples Alley.

"Couldn’t come at a better time," Kapler said.

A steady drizzle fell throughout the first four innings. At one point, a large puddle of water pooled behind third base near the outfield grass. Workers added fresh dirt to the mound, throughout the infield and around home plate in between innings.

Aguilar, who hit two-run homers in the ninth inning of the previous two games, connected off Wisler in the eighth.

"They pitched really well against us," said Miami’s Adam Duvall, who was 1 for 4. "If you look at a lot of the at-bats, there weren’t a lot of pitches over the heart of the plate."

CLICK HERE TO GET THE FOX NEWS APP

ASALI’S SHUTOUT STREAK ENDS

Giants catcher Curt Casali came within four outs of becoming the second player since 1900 to catch six consecutive shutouts before Aguilar’s two-out home run. Ed Phelps of Pittsburgh did it with Pittsburgh in 1903.

FOR OPENERS

The Marlins used reliever Ross Detwiler as an opener for one inning. Detwiler walked one and struck out one in his first start since Sept. 29, 2019.

TRAINER’S ROOM

Giants: Flores was given an IV after leaving the game in the third inning. He was replaced by Vosler. … OF Mike Yastrzemski came out of the game with left oblique tightness. … RHP Reyes Moronta (right flexor strain) came out of a Saturday bullpen without any problems. Moronta ran sprints before Sunday’s game and will continue his throwing program.

UP NEXT

Marlins: LHP Trevor Rogers (2-1, 1.64 ERA) faces the Brewers in Milwaukee on Monday. Rogers has struck out 70 batters in his first 11 major league starts, the most by a lefty in franchise history. RHP Corbin Burns (2-1, 0.37) pitches for the Brewers.

Giants: RHP Anthony DeSclafani (1-0, 2.14 ERA) starts against the Rockies on Monday. DeSclafani allowed three earned runs in his most recent outing after giving up two overall in his first three starts. LHP Austin Gomber (1-2, 3.38) goes for Colorado.