SAN FRANCISCO -- Madison Bumgarner is ineligible to pitch Tuesday in the All-Star Game, so he put on his nationally televised show Sunday night.
The Giants' ace left-hander took a no-hitter into the eighth inning, finished with a one-hit shutout and matched his career-high with 14 strikeouts, pitching San Francisco to a 4-0 victory over the Arizona Diamondbacks in the finale of the baseball's first half of the season.
Brandon Crawford drove in three runs with a sacrifice fly and a two-run double, helping the Giants (57-33) sweep the three-game series from the Diamondbacks and enter the All-Star break with baseball's best record.
Bumgarner, an All-Star Game selection who by rule cannot participate in the game because he started Sunday, was five outs away from a possible no-hitter before gave up a one-out single to left-handed-hitting Jake Lamb in the eighth.
"When you get through seven (innings) and you know there are just six more outs to get, you feel you have a real good shot," said Bumgarner, who has never thrown a no-hitter. "It hasn't worked out for me, but I'll take the complete-game shutout anytime."
After Lamb's hit, Bumgarner (10-4) got the next batter, Brandon Drury, to ground into an inning-ending double play, then completed his first shutout of the season with another double-play grounder in the ninth.
The complete game one-hitter was the fourth of his career.
Bumgarner wound up throwing 117 pitches. He walked one and faced one batter more than the minimum.
"I thought he was going to throw a no-hitter," Crawford said. "His stuff was that good tonight. He had the stuff to do it."
The complete game, Bumgarner's third of the season, finished off the Giants' second sweep of the Diamondbacks this season.
The shutout effort lowered Bumgarner's season ERA to 1.94, second-best in the National League to Clayton Kershaw's 1.79.
The 14 strikeouts surpassed Bumgarner's previous season high of 11. The lefty twice previously fanned 14 in his career, both times last season (June 23 against the San Diego Padres and Aug. 16 against the Washington Nationals).
He struck out 10 or more for the 29th time in his Giants career, the second most in franchise history behind Tim Lincecum's 36.
However, was it worth sacrificing an appearance in the All-Star Game?
"This comes first," Bumgarner said. "(The All-Star appearance) would be a lot of fun. I would love to do it if it lined up right. But it didn't, so this is our prerogative."
Crawford capped a two-run first inning off Arizona starter Archie Bradley with his sacrifice fly, then provided the crowning blow in the Giants' two-run seventh.
Crawford has 19 RBIs in his past 13 games.
The three RBIs give Crawford a team-high 61 at the All-Star break. The Houston Astros' Carlos Correa (55) is the only other major league shortstop currently leading his team in RBIs.
"The RBIs have a lot to do with guys getting on base in front of me," Crawford said. "I mean, I've got nine home runs. It's not like I have 20 homers and 60 RBIs. Guys are getting on base and giving me a chance to drive them in."
Bradley (3-5) limited the Giants to two runs in six innings. He gave up seven hits, walked two and struck out six while losing for the first time since June 14.
"Great job," Diamondbacks manager Chip Hale said of Bradley. "There were a couple of plays we could make there in the first inning and he limits the damage. He had a couple of other situations, and he did a good job dancing around that. I thought he did his best at the end."
Posey had three hits, all singles, for the Giants, who will take the best record in baseball into the All-Star break for just the second time since moving west in 1958.
Span and Crawford contributed two hits apiece to an 11-hit attack.
The Giants won for the eighth time in 10 games, and they improved to 31-15 against the NL West.
Lamb, who reached base on an error in the fifth inning, was the only batter to get aboard for Arizona until Rickie Weeks Jr. drew a leadoff walk in the ninth.
"The longer that no-hitter goes on, the harder it is to get that hit to break it up," Hale said. "When you're scratching for anything, that's a heck of an at-bat (by Lamb)."
The Diamondbacks (38-52), who swept a four-game series in San Francisco earlier this season, have lost 12 of 14. They fell to 10-20 in series finales.
Bumgarner's bid for a perfect game ended with two outs in the top of the fifth when Lamb hit a fly ball toward the right field line. Fighting the sun, right fielder Gregor Blanco got a bit of a slow break on the ball. He eventually got under it on the run, but it went in and out of his glove for an error, his first of the season.
The Giants gave Bumgarner an immediate two-run cushion in the bottom of the first after a single by Span and double by Angel Pagan set the table. Posey opened the scoring with a single, driving in Span. Pagan came home on Crawford's sacrifice fly.
NOTES: The no-hit bid was the second longest of Giants LHP Madison Bumgarner's career. He held the San Diego Padres hitless for 7 2/3 innings on Sept. 12, 2015. ... Bumgarner (10-4) and RHP Johnny Cueto (13-1) are the first Giants teammates each to record 10 wins before the All-Star break since RHP Matt Cain and RHP Tim Lincecum in 2009. ... The Giants lead the majors with eight complete games. They had seven all of last season. ... The Diamondbacks made their first ESPN "Sunday Night Baseball" appearance since Aug. 31, 2008. ... The Giants will represented at Tuesday's All-Star Game by Bumgarner, Cueto, C Buster Posey and 1B Brandon Belt, and the Diamondbacks by 1B Paul Goldschmidt. ... Diamondbacks manager Chip Hale disclosed Sunday that his ace, RHP Zack Greinke, almost surely will not be ready to rejoin the team off the disabled list after the All-Star break. Greinke (strained oblique) has yet to start throwing since sustaining the injury in his last start on June 28 against the Philadelphia Phillies.