Their trip to New York was no different.
Kris Bryant launched an early two-run homer, pinch-hitter Darin Ruf broke an eighth-inning tie with an RBI single and San Francisco beat the plummeting Mets 3-2 on Thursday night for a three-game sweep.
Just before the game, the Giants learned second baseman Donovan Solano tested positive for COVID-19. He will be sidelined at least 10 days and must quarantine in New York.
"I think a day like today is a good test of the toughness of our team," manager Gabe Kapler said. "I'm proud of the toughness after the way this day began."
Pete Alonso clocked a two-run homer off the Citi Field restaurant windows beyond the left-field foul pole, but the Mets finished 2-11 in a pivotal stretch of games against the Giants and Dodgers - the top two teams in baseball.
"I honestly think we were right there with them," Alonso said. "We played every ballgame tooth-and-nail and fought extremely hard and it's just one hit, one pitch away."
The untimely slide dropped New York from a half-game back in the NL East to 7 1/2 behind first-place Atlanta.
Next, the third-place Mets (61-66) play 15 in a row against Washington and Miami, the bottom two teams in the division. But it might be too late to get back in the race.
"We can't fold. We can't back down," Alonso said.
Bryant connected in the first off Carlos Carrasco for his 24th home run this season and sixth with the Giants (83-44) since they acquired him from the Chicago Cubs at the July 30 trade deadline.
Four have come against the Mets since Aug. 16, including a solo shot in Wednesday night's 3-2 victory.
"It's just really a winning ballclub," Bryant said.
Alonso tied it with a two-run drive in the sixth that chased starter Alex Wood.
Mike Yastrzemski singled against Seth Lugo (3-2) to begin the eighth, and Curt Casali was grazed by a pitch. Ruf grounded a single through the right side to give San Francisco a 3-2 lead.
The gritty Giants have won five straight, 14 of 17 and 22 of 29. They lead the NL West by 2 1/2 games over the Dodgers.
It was San Francisco's first three-game sweep of the Mets since June 2014, and first in New York since May 2002.
"Tonight I think we played quality baseball," Kapler said.
Jarlin García (5-3) worked 1 2/3 scoreless innings in relief, and José Álvarez retired pinch-hitter Jeff McNeil on a grounder with the bases loaded to end the eighth.
"He's as tough as they come," Kapler said.
Tyler Rogers got three quick outs for his 12th save.
"I can honestly say I've never really been on a team where we had a bullpen like this," Bryant said. "There's zero selfishness here."
San Francisco is 18-5 this month and assured of becoming the first National League team since the 1942 Brooklyn Dodgers to post at least a .600 winning percentage in April, May, June, July and August.
"We've got some good momentum rolling," Wood said. "The consistency that we've had this year truly has been remarkable."
Carrasco permitted two runs and three hits in a season-high seven innings, his best outing by far in six starts with the Mets after missing much of the year with a hamstring injury. He struck out five, walked none and set down his final 13 batters.
"I missed three months. Getting back to normal, it took me time," Carrasco said. "Today, I felt really good. Everything was working the way that I want to."
Giants: Casali, starting in place of nicked-up catcher Buster Posey, was replaced on the bases by Chadwick Tromp after experiencing dizziness. Casali took a foul ball off his mask earlier in the game and will be evaluated Friday. ... Posey missed his second consecutive game because of discomfort in his left knee. "No long-term concerns for Buster. Just giving him an additional day," Kapler said. ... 1B Brandon Belt went on the bereavement list to attend his grandmother's funeral Friday in Texas. He is likely to rejoin the team Saturday in Atlanta and be activated Sunday, Kapler said. Wilmer Flores, a fan favorite with the Mets, played 1B against his original team. ... Solano was placed on the COVID-19 injured list. San Francisco recalled Tromp and infielder Thairo Estrada from Triple-A Sacramento. ... RHP Anthony DeSclafani (right ankle inflammation) was scheduled to throw a bullpen with an eye toward coming off the injured list Sunday to start in Atlanta.
Mets: RHP Noah Syndergaard threw 16 pitches in a rehab start for High-A Brooklyn, his first outing since getting shut down in May with elbow discomfort in his recovery from March 2020 Tommy John surgery. ... RHP Jacob deGrom (forearm tightness) reported no issues after playing catch Wednesday and did so again, manager Luis Rojas said. ... Backup catcher Tomás Nido (sprained left thumb) could come off the injured list Friday or Saturday. Starting catcher James McCann (lower back spasms) is taking batting practice but isn't quite as close. ... Reserve infielder Luis Guillorme (strained left hamstring) began a rehab assignment at Triple-A Syracuse. OF/1B José Martínez, sidelined all season by a torn meniscus in his left knee, was scheduled to play nine innings in right field for Syracuse but only got one at-bat and was removed in the fourth.
Giants: Head to Atlanta for a three-game series between National League division leaders. RHP Kevin Gausman (12-5, 2.47 ERA) is expected to come off the COVID-19 injured list to start Friday night against LHP Max Fried (11-7, 3.49).
San Francisco plays its next 10 games against the Braves, the NL Central-leading Brewers and the rival Dodgers.
Mets: LHP Rich Hill (6-5, 4.13 ERA) pitches Friday night against Washington RHP Paolo Espino (3-4, 4.28) in the opener of a three-game series. Hill is 0-1 with a 5.06 ERA in six games - five starts - for the Mets since arriving from Tampa Bay.
Giants broadcasters baffled by questionable strike call
The Giants broadcasters are completely beside themselves as Aaron Loup throws a pitch way outside the zone that's called a strike.