Josh Harrison ended Rich Hill’s no-hit bid in agonising fashion Wednesday, belting a walk-off home run in the 10th inning to lift the Pirates to a 1-0 win over the Los Angeles Dodgers in Pittsburgh.
Harrison lofted a 2-1 pitch over the left field wall for the game-winner.
He became the first player in history to end a no-hit bid with a walk-off home run in extra innings.
“I got a pitch, and I didn’t miss it,” Harrison said.
Dodgers hurler Hill was perfect through eight innings, retiring every batter he faced.
With no outs in the ninth, Dodgers third baseman Logan Forsythe’s error allowed Pittsburgh’s Jordy Mercer to reach first — breaking up the perfect game.
Hill had been seeking the second perfect game in Dodgers history. The other was thrown by Sandy Koufax on September 9, 1965. Josh Bell nearly broke up the no-hit attempt twice before.
In the second inning, he led off by bouncing a ball down the line to Dodgers first baseman Adrian Gonzalez. Bell was called safe when he appeared to beat Gonzalez’s throw to Hill for a single.
After a challenge, however, the call was reversed. In the eighth inning, Bell struck a sharp ball toward center field but Dodgers second baseman Chase Utley robbed him of a hit with a diving catch.
Hill, 37, struck out 10 and threw just 99 pitches while facing 29 batters in the defeat. 
The Dodgers offense collected eight hits but no runs, finishing 0-for-9 with runners in scoring position and stranding 11 base runners.
Pirates starter Trevor Williams allowed seven hits and four walks in seven scoreless innings. Relief pitchers Felipe Rivero and Juan Nicasio completed the Pirates’ shutout.
It wasn’t Hill’s first brush with perfection.
Last September, he was pulled from a perfect game bid by Dodgers manager Dave Roberts after seven innings against the Marlins. Roberts said he was “sick to my stomach” at having to make the move, but feared a blister was re-forming on Hill’s throwing hand.
Hill’s latest stellar, if ultimately futile, performance came 12 days after he was hit in the throat by a pitch in a game against the San Diego Padres.

Royals 6, Rockies 4
Eric Hosmer’s three-run, walk-off homer with two outs in the ninth inning lifted Kansas City over Colorado.
Hosmer’s blast with Alex Gordon and Melky Cabrera aboard came off former Royals closer Greg Holland (2-5). The first baseman ripped a 1-1 offering out to right for his first career walk-off home run.
Brandon Maurer (3-5) worked a scoreless ninth to pick up the victory. Kansas City’s Whit Merrifield went 4-for-5, matching his career-high in hits. Hosmer added three hits.

Red Sox 6, Indians 1
Mitch Moreland and Eduardo Nunez homered, and four Boston pitchers combined for a three-hitter in defeating Cleveland.
Moreland hit a solo home run off Corey Kluber in the fifth inning, and Nunez belted a two-run shot off Bryan Shaw in Boston’s four-run ninth. The Indians’ Edwin Encarnacion homered in the eighth off reliever Addison Reed.

Astros 6, Nationals 1
Mike Fiers produced his best start in more than a month, and Jake Marisnick, Max Stassi and Alex Bregman hit home runs as Houston topped Washington.
After allowing at least three runs and two homers in each of his previous four starts, Fiers (8-8) surrendered one run, four hits and one walk in seven innings. It marked his longest outing since he worked seven innings in consecutive starts in mid-July.

Cubs 9, Reds 3
Kyle Schwarber hit a three-run homer and Tommy La Stella added a two-run shot as Chicago won its fifth straight.
Mike Montgomery (4-6) allowed four hits in six shutout innings. The Cubs played without third baseman Kris Bryant, who was hit on the hand by a pitch during the ninth inning on Tuesday night.
He was replaced by La Stella, who reached base four times.

Rangers 7, Angels 5
Adrian Beltre homered in his first two at-bats and contributed to a two-run uprising in the 10th inning with a groundout as Texas defeated Los Angeles.
 Robinson Chirinos also homered and finished with three hits.

Yankees 10, Tigers 2
Gary Sanchez continued his power surge with his third homer in two games as New York rolled past Detroit.
Sanchez hit a solo homer in the first inning and added a two-run single in the third. He has homered in six of the past nine games, and he has nine long balls over the past 14 contests, giving him 26 for the season.

Blue Jays 7, Rays 6
Toronto hit six home runs, five of them solo, and Kevin Pillar’s shot in the eighth inning gave Toronto the victory over Tampa Bay.
The teams combined for nine home runs, matching the most in a Rays game. Tampa Bay came back from a 5-0 deficit to tie the game in the seventh, only to leave the bases loaded and see the Blue Jays snap a four-game losing streak.

Cardinals 6, Padres 2
Luke Weaver pitched seven shutout innings, tying a career high with 10 strikeouts, as St Louis subdued San Diego.
Making only his third start of the year, Weaver (2-1) permitted three hits and one walk, throwing 69 of his 99 pitches for strikes. His outing allowed the Cardinals to snap a 12-game streak of allowing opponents to score at least five runs.

Mets 4, Diamondbacks 2
Chris Flexen tossed a career-high six innings, and fellow rookies Brandon Nimmo and Dominic Smith combined to score all four runs in New York’s victory over Arizona.
Flexen (3-2), making his sixth career start, allowed two runs, six hits and four walks while striking out five.
Nimmo, who has played every day since Curtis Granderson was traded Friday, reached base in all four plate appearances via three walks and a double.

Orioles 8, Athletics 7
Zach Britton’s American League record streak of consecutive saves ended at 60 but Baltimore still emerged with a victory over Oakland on a game-winning homer by Manny Machado in the 12th inning.
The Athletics’ Marcus Semien went 3-for-5 with an RBI double in the sixth and a single in the ninth that cut the Orioles’ lead to 7-6 off Britton.
One batter later, Matt Joyce tied the game on a sacrifice fly. Britton had not blown a save since Sept. 20, 2015.

Mariners 9, Braves 6
Kyle Seager had three hits, including a three-run homer that highlighted a five-run eighth-inning rally, to propel Seattle past Atlanta.
The Mariners entered the eighth trailing 6-5 and rallied against Jim Johnson, who allowed each of the four batters he faced to reach base.
Seager then greeted rookie reliever Dan Winkler with an opposite-field homer that bounced off the top of the wall.

White Sox 4, Twins 3
Tim Anderson lined a single to left to score Avisail Garcia with the winning run as Chicago claimed a walk-off victory over Minnesota.
The White Sox shortstop sent a 1-0 pitch from Trevor Hildenberger (2-2) with one out in the ninth inning for his first career game-ending hit. Danny Farquhar (3-2) worked a scoreless inning for the victory.

Giants 4, Brewers 2
Jarrett Parker’s check-swing, two-run double broke a seventh-inning tie and sent San Francisco past Milwaukee.
Matt Moore pitched six strong innings before handing off the ball to the bullpen, helping the Giants win for a second time in the three-game series against the playoff-contending Brewers.

Phillies 8, Marlins 0
A three-run homer by rookie slugger Rhys Hoskins punctuated a five-run third inning as Philadelphia backed a terrific outing by Mark Leiter Jr with a well-rounded offensive performance en route to victory over Miami.