SAN DIEGO — Stuck in a skid that has jeopardized their season, the Giants at times over the past few weeks have been hard to watch. All year, though, Carlos Rodón’s starts have made for can’t-miss baseball.

In a 3-1 win Saturday against the Padres, Rodón turned in possibly his best performance yet, retiring 22 of the final 23 San Diego hitters he faced on his way to a complete game.

Wilmer Flores broke a 1-1 tie in the eighth with a two-run homer to left that gave Rodón all the padding he needed to secure the Giants’ first win in three games this series and only their second in the past 10 games.

The Giants risked falling below .500 for the first time since the very early days of last season, but they will live at least another two days without a losing record.

Rodón was countered by an equal in San Diego’s Yu Darvish, providing the second pitcher’s duel in three games this season, after Logan Webb and Joe Musgrove went pitch-for-pitch Thursday night.

On Saturday, that meant the team that reach the other’s bullpen first had the upper hand.

And Flores proved that hypothesis to be true, launching a tie-breaking two-run shot off San Diego reliever Luis Garcia over the left field wall. In a reprise of the Giants’ winning strategy from last year, Flores’ blast followed a bases on balls to Joc Pederson.

In his first game back from a 15-game stint on the injured list, Luis González helped the Giants score their only run off Darvish, drawing a walk in the second inning that put Brandon Belt in position to score on a sac fly from Brandon Crawford. He also ripped a double down the right field line to lead off the fourth but was left stranded on third base.

A day after Pederson was named an All-Star starter, Rodón cemented his case to join him next week in Los Angeles.

In his first complete game since tossing a no-hitter last season, Rodón retired 21 straight batters until issuing a two-out walk to Luke Voit in the ninth. He struck out 12 for his fourth double-digit strikeout game this season. In an especially filthy and efficient display, he made it through nine innings — allowing one run on three hits — on 111 pitches, while inducing whiffs on 24 of those offerings, a season-high.

The Padres didn’t record a hit after the second inning, when they plated their lone run on a hopper that Belt mishandled at first base after Rodón loaded the bases.

Rodón is scheduled to make one more start before the All-Star break — for now that lines to come Thursday against Milwaukee — but this is the résumé he’ll be judged on: the remaining All-Stars will be announced Sunday.

Here is where he ranks in a few select categories among NL starting pitchers:

  • ERA: 2.70 (8th)
  • K/9: 11.09 (3rd)
  • Swings & misses: 203 (3rd)

Notable

  • First baseman Brandon Belt left the game in the eighth inning with an apparent leg injury, after legging out an infield single. He was replaced by Thairo Estrada. Belt has dealt with knee issues this season.