Rookie Hirokazu Sawamura bounced back from his worst start and came within two outs of his first shutout on Saturday.
The Giants right-hander threw a three-hitter as Yomiuri won 3-1, beating the Hiroshima Carp for the second straight day at Tokyo Dome.
"Yesterday, we were trailing by three runs...and we came from behind and started something we could build on," Sawamura said.
"Last time my pitching was not very reassuring. If I were to pitch that way again, I would get in the way of our making a run at it.
"Honestly speaking, I had gotten down on myself, but you have to go to the mound and compete. To do that you have to put the past behind you."
Alex Ramirez broke up a scoreless tie with a sixth-inning sacrifice fly. Shinnosuke Abe gave the hosts some breathing room in the next at-bat with a two-run homer, his sixth of the season.
Sawamura (5-6) had allowed five runs in five innings in his last start, but held the Carp to one hit through eight innings on Saturday.
Back-to-back hits to lead off the ninth set Yoshihiro Maru up for a sacrifice fly, but that was all the visitors could manage.
Sawamura walked one batter and struck out eight, needing 115 pitches to notch his third complete game.
"I made some good pitches, but my fastball lacked its normal velocity and movement," he said.
With his slider not working up to spec, catcher Abe began calling for forkballs, and Sawamura piled up more groundball outs than usual.
Hiroshima's Dioni Soriano (0-1) was a tough-luck loser. He worked 5-1/3 innings, allowing just two hits and three walks in his sixth game of the season and his first start since April 15.
"Soriano pitched very well," said Giants manager Tatsunori Hara, who never expected to face the lefty.
"I'm a little ashamed to say it, but I didn't see that one coming."
The Giants had just an infield single and two walks to show against Soriano through five innings, but their luck changed in the sixth.
Hayato Sakamoto hit a lazy fly that Soichiro Amaya lost against the back-lit dome ceiling. The ball dropped between three Carp for a leadoff double.
Before he could regain his poise, Soriano walked Yoshinobu Takahashi on five pitches. Hisayoshi Chono's fly to right moved Sakamoto to third.
With the right-handed-batting Ramirez coming to the plate, Carp skipper Kenjiro Nomura went to his bullpen. Right-hander Takeru Imamura entered and surrendered Ramirez's sac fly to center.
Abe, who had earlier taken a foul tip off his left knee while catching, then blasted a 3-0 slider from Imamura into the seats to give his team more margin for error.
"I think he's almost back to his usual form," Hara said of his All-Star catcher, who missed the start of the season with injury.
After the sixth, Hara began swapping offense for defense, with Ken Kato coming on to spell Abe.
"He [Abe] has a slight contusion," Hara said. "Of course, Kato was Sawamura's first catcher this season, so I have confidence in them."
After pinch-hitter Takuro Ishii led off the Carp ninth with a single and Akihiro Higashide doubled, Hara had the Giants' bullpen going.
"I planned to stick with Sawamura in the ninth, but three straight hits and he would have been gone," the skipper said.
The victory leapfrogged the Giants past the Carp and into fourth place.
"We finally seem to have some rhythm going," said Hara, whose club is last in runs scored in the Central League with 184.
"The lineup is beginning to produce, the runs are starting to come."
In Pacific League action, Toshiya Sugiuchi (5-3) threw eight shutout innings as the league-leading Fukuoka SoftBank Hawks beat the Chiba Lotte Marines 4-0 in Fukuoka.
In Asahikawa, Hokkaido, Tomohiro Nioka hit a pinch-hit grand slam as the Hokkaido Nippon Ham Fighters beat the Tohoku Rakuten Golden Eagles 7-1.
At Seibu Dome, Jose Fernandez went 4-for-4 with a tie-breaking three-run home run as the Saitama Seibu Lions defeated the Orix Buffaloes 7-4.
Takeya Nakamura hit his Japan-best 23rd homer for the Lions.