BOSTON -- The Houston Astros had no shortage of reasons to celebrate.
The Astros ended a franchise winless streak at Fenway Park with a pesky performance, rallying to tie Boston twice before finishing off the Red Sox in extra innings.
Jake Marisnick hit a two-run double with two outs in the 10th on Friday night for a 5-3 victory, giving the Astros their first win in nine games at Fenway Park. With their 51st win of the season, the Astros matched last year's total.
"It's a huge credit to the players in that locker room and our staff," manager Bo Porter said. "They worked extremely hard and we still have six weeks left to go in the season."
Gregorio Petit entered as a pinch runner in the eighth inning and scored twice, including the tying run in the eighth on a wild sequence that withstood two challenges by Boston. The Red Sox lost both -- and the game, ending their winning streak at four.
The Astros tied it after falling behind 2-0, then 3-2 before taking their first lead in the 10th after loading the bases with none out against reliever Craig Breslow (2-4). Boston got two quick outs that kept Houston from scoring, but Marisnick delivered with a blooper that bounced just inside the right-field line and into the stands for a ground-rule double.
"You can't defend a bloop double down the line," Boston manager John Farrell said.
The ending was almost anticlimactic compared to the way Houston tied it in the eighth with hustle and a little bit of good fortune.
Petit came all the way around from second base on a fielder's choice after Dexter Fowler slid safely into second to beat shortstop Xander Bogaerts' throw to Dustin Pedroia, who saw Petit had rounded third and fired a strike to Christian Vazquez at the plate.
Petit sidestepped out of range for Vazquez to tag him and lunged toward home, getting a hand safely on the plate.
"When I first looked I knew I was going to be out. The throw was there way before I was," Petit said. "Then at the end of the play, I'm safe."
Boston reliever Burke Badenhop dropped the short throw from Vazquez, so Petit was going to be safe regardless. Boston still challenged the call at home and the play at second to no avail.
Both calls were upheld.
The Astros tacked on two runs in the 10th, then Tony Sipp (3-2) shut down the Red Sox in order to end it.
Houston starter Dallas Keuchel's night was done long before the game was decided. He struck out eight while holding Boston to three runs on six hits and three walks over seven innings. Then he watched as his teammates completed the comeback.
"Fifty-one wins right now and we've got six weeks left. I think we're surprising a lot of people," Keuchel said. "It's a great win tonight. First win at Fenway, which is pretty cool."
Rob Grossman's solo homer in the seventh tied it 2-all. He drove the first pitch he saw from Clay Buchholz out to right and finished 3 for 5, just a triple shy of the cycle.
CHANGE IS GOOD
Marisnick went 2 for 5 and increased his batting average to .315 with the Astros since he was traded by Miami at the deadline. Marisnick, who was hitting .167 for the Marlins in 14 games, is 17 for 54 in 14 games with Houston.
Astros: Porter said the Astros aren't taking any chances with LHP Darin Downs, who is sitting out a little while because of discomfort in his right oblique. Although Porter described it as "minor," the Astros called up LHP Kevin Chapman from Triple-A as Downs rests.
Red Sox: C David Ross (plantar tendon) took batting practice and is doing footwork with his shin guards on. He has been on the disabled list since Aug. 2.
RHP Brad Peacock (3-8, 5.25 ERA) faces the Red Sox for the first time since a very short outing in Houston on July 13. Peacock was pulled with one out in the first after Brock Holt hit a leadoff homer, then Boston loaded the bases on a single, a walk and a hit batter.
Boston RHP Rubby De La Rosa (4-4, 3.21) tries to win back-to-back starts for the second time this season. De La Rosa, who won consecutive starts in July but then lost his next two, held the Angels to one run on five hits and struck out eight over seven innings Sunday.