Matt York, Associated Press
Diamondbacks shortstop Stephen Drew, right, can't reach an RBI single hit by the Giants' Omar Vizquel during the fourth inning on Thursday in Phoenix. Aaron Rowand, left, scored on the play.

PHOENIX — Randy Johnson fanned nine to tie Roger Clemens for second in career strikeouts Thursday night, but Arizona's bullpen blew a lead and Randy Winn's ninth-inning home run gave the San Francisco Giants a 4-3 victory.

Winn's second solo home run of the night allowed the Giants to complete a three-game sweep and hand the Diamondbacks their season-worst fourth straight loss.

Tony Pena walked in the tying run in the eighth, then Chad Qualls gave up the leadoff homer to Winn. Arizona was swept for the second time in three series and has dropped eight of 10.

Johnson, who left the game with a 3-2 lead after seven innings, has struck out 19 — in 13 innings — in his last two starts to tie Clemens with 4,672 strikeouts.

The tying strikeout came when the 44-year-old left-hander fanned Dan Ortmeier for the third time of the night to start the seventh inning. Johnson drew a standing ovation as he left the field. He was lifted for a pinch hitter in the bottom of the inning with Arizona leading 3-2.

Johnson, who returned to the Arizona rotation after his second back surgery in as many years, allowed two runs on six hits and walked one.

Justin Upton, 13 months old when Johnson made his major league debut on Sept. 15, 1988, hit a solo home run in the second, then tripled in the go-ahead run in the sixth for Arizona. Both hits came with two outs one game after Upton ended an 0-for-27 skid.

Pena walked pinch hitter Fred Lewis on five pitches with the bases loaded to deprive Johnson of his 289th career victory. The run was unearned because of first baseman Conor Jackson's fielding error.

Pena walked two and hit a batter in two-thirds of an inning as Johnson had a no-decision despite a strong outing for his second start in a row.

Qualls (0-5) came on to strike out pinch hitter Steve Holm to end the inning but allowed Winn's homer to left on a 1-0 pitch in the ninth. Brian Wilson threw a perfect ninth for his NL-leading 16th save in 18 opportunities.

Tyler Walker (3-3) pitched a scoreless eighth to get the victory.

Both of Upton's hits came off Barry Zito, who allowed three runs on six hits in six innings. He struck out five and walked three.

Johnson retired the first nine he faced, five by strikeouts, before Winn's home run leading off the fourth. His third homer of the season came with a 3-2 count on the 10th pitch of his at bat.

National League

METS 8, DODGERS 4: At New York — David Wright hit two homers off Brad Penny and the newly inspired New York Mets dampened Joe Torre's return home, defeating the Los Angeles Dodgers 8-4 Thursday night. Wright drew two big ovations for his first multihomer game of the season and eighth of his career. He picked on a familiar victim, improving to 11-for-19 (.579) with four home runs and five walks against Penny (5-6).

Cubs 8, Rockies 4: At Chicago, Alfonso Soriano's two-run single capped a late charge for the streaking Cubs, who scored five runs in the last two innings as Colorado pitchers committed two errors. The Rockies lost their fourth straight and ninth in a row on the road. Matt Herges (2-2) picked up the loss in relief of Jeff Francis, who gave up three runs and six hits over five innings.

PIRATES 7, REDS 2: At Cincinnati, Jason Bay and Xavier Nady each had a homer and a double to help Pittsburgh snap the Reds' home winning streak at nine games. The Reds couldn't extend their best home winning streak in 28 years because they couldn't do anything against Phil Dumatrait (2-2). The left-hander allowed one unearned run and two hits in seven innings, beating the team that let him get away last October. The Reds' pitching staff was in disarray following an 18-inning loss in San Diego on Sunday. Starters Aaron Harang and Edinson Volquez wound up pitching in relief, throwing everybody's routine off. Harang (2-7) lasted only four innings and give up a season-high six runs.

BRAVES 8, BREWERS 1: At Milwaukee, Mark Teixeira homered and drove in four runs and reliever-turned-starter Jorge Campillo's first career hit scored two more to lift Atlanta. Chipper Jones went 2-for-4 with two walks to raise his major league leading average to .420 and help the Braves avoid being swept for the third time this season.

Campillo (2-0) also got his first RBI in his fourth career start after notching his first win against the Mets on May 20. The 29-year-old righty struck out six and ran his scoreless innings streak as a starter to 14 before allowing a solo homer in the fifth to Russell Branyan.

Brewers starter Seth McClung (2-2) worked out of trouble in the first four innings, allowing only an RBI single to Teixeira in the third, before faltering in the fifth.

PADRES 5, NATIONALS 2: At San Diego, Jody Gerut hit a three-run homer with one out in the eighth inning to help the Padres take two of three in a matchup of last-place teams. Gerut's second homer of the season came three batters after Washington's Ryan Langerhans made a spectacular leaping catch to rob Kevin Kouzmanoff of a home run leading off the eighth inning. Langerhans got his glove above the wall to snag Kouzmanoff's drive.

Khalil Greene and Michael Barrett followed with singles off Saul Rivera (3-3), who made way for Charlie Manning. He allowed Gerut's shot into the seats down the right-field line.

CARDINALS 3, ASTROS 2: At St. Louis, Kyle Lohse carried a shutout into the seventh inning and Albert Pujols homered to cap a 6-for-10 series, helping the St. Louis beat the Astros. Chris Duncan has a two-run single with the bases loaded in the first for the Cardinals.

American League

WHITE SOX 5, RAYS 1: At St. Petersburg, Fla., the Chicago White Sox cooled off the AL East-leading Rays before of a crowd of 12,636. John Danks (4-4) allowed one run and six hits in six innings to beat Edwin Jackson (3-4) for the second time this season. He pitched seven scoreless innings to beat the right-hander 6-0 on April 20, a loss that left Tampa Bay in last place at 8-11.

BLUE JAYS 12, ATHLETICS 0: At Oakland, Calif., Jesse Litsch won his fifth straight decision and extended his scoreless streak to 16 innings and Rod Barajas had three doubles and drove in three runs. Litsch (7-1), coming off a seven-hit shutout of Kansas City on Saturday, hasn't lost in seven starts since a defeat at Tampa Bay on April 22. He allowed seven hits in seven innings, struck out three and walked one in throwing a season-high 108 pitches.

Dana Eveland (4-4) allowed a career-high seven earned runs.

TWINS 5, ROYALS 1: At Kansas City, Mo., Kevin Slowey pitched a six-hitter and Carlos Gomez had four hits and two RBIs to send the punchless Kansas City Royals to their 11th loss in a row. The 11-game skid is the longest in the majors this year and Kansas City's worst since a 13-game skid May 12-25, 2006. Slowey (2-4), in his 17th major league start, did not allow a runner as far as second base until David DeJesus and Alex Gordon doubled in the ninth.