Johnson's streak of six consecutive games with double-digit strikeouts ended he struck out eight but he needs only eight strikeouts for his third 300-strikeout season and the 28th in major league history.
"He always seems to have something in reserve," Pirates manager Gene Lamont said. "It always looked like he could throw it harder if he wanted to. He dialed it up a few times. The last inning, he got it up to 98."
The Big Unit held the Pirates to four singles other than Young's homers in his career high-tying 10th complete game in 28 starts.
"I like to finish when I start, but I don't put a lot of emphasis on complete games," Johnson said. "But it's my way of feeling I put in a good day's work."
Johnson threw 113 pitches, a relatively low total for him, as the Pirates often swung early in the count.
"I've thrown a lot of games this year with 145 pitches, and it takes me a few games to bounce back from that," he said. "I've said all along I'd much rather throw 114 pitches and strike out five or six than throw 145 pitches and strike out 10."
Arizona has won 22 of its last 29 games and leads San Francisco by 7 1/2 games in he NL West.
Johnson sent a message to the Pirates early, sailing a fastball over Giles' head in the first. Giles, who homered twice Friday, went 0-for-4 and grounded out with two on to end the eighth.
"I looked out at him, and he was staring at his hand like it slipped," Giles said. "When I was in Cleveland, he did it to Kenny Lofton a lot. It's part of his game. He's trying to put a little fear in there."
Johnson didn't intimidate Young, who hit a long solo homer in the second and an even longer shot in the fourth estimated at 423 feet for his 18th and 19th homers.
Young hit inside fastballs for both homers, then didn't see that pitch again while striking out on sliders in his final two at-bats.
"He's definitely proud and has an ego, and I have one, too," Young said. "I hit that pitch the first time so he was going to throw it to me again. He let out a grunt when he threw it, so I knew it would be a hard one. It was right on top of me. I think the grunt and the ball arrived at the same time."
Except for the homers, which weren't costly since no one was on base, Johnson continued a brilliant run of pitching. He has not allowed more than two earned runs in his last 12 starts, a span in which he has a 1.56 ERA but only a 4-5 record.
The Diamondbacks were shut out in four consecutive starts during that streak, but supplied Johnson with an unaccustomed early lead Saturday by scoring in each of the first three innings off rookie Jimmy Anderson (1-1).
Four of the first five Diamondback batters got hits in the second, with Bell's RBI single making it 2-0.
Anderson, who beat St. Louis 5-1 in his first major league start Aug. 6, yielded three runs, two earned, and eight hits in 5 -3 innings in his second start.
©1999 The Associated Press. All Rights Reserved. This material may not be published, broadcast, rewritten, or redistributed