SEATTLE (AP) -- Jose Altuve helped Collin McHugh win his 10th straight decision with a go-ahead three-run double in the eighth inning, and the Houston Astros rallied for a 6-3 win over the Seattle Mariners on Tuesday night.

Down 3-1 entering the eighth, the Astros scored five times against the Mariners bullpen, capped by Altuve's bases-clearing liner into the left-field corner for their fourth straight victory. Altuve had been hitless in his previous eight at-bats.

The rally made a surprise winner out of McHugh (3-0) and continued the longest winning streak by a Houston pitcher since Wade Miller won 12 straight decisions during the 2002 season. McHugh gave up three runs, but pitched through the seventh and stayed in the game long enough for the Astros to rally.

McHugh's seven innings were a season high, but he was far from sharp early. The three earned runs were also a season high and he struck out only three batters after striking out 11 in his last start against Oakland. The three strikeouts for McHugh were the fewest in his previous seven starts.

Chad Qualls pitched the ninth for his first save this season.

McHugh's streak continued thanks to a rally that started because of an error committed by Seattle's Robinson Cano mishandling pinch-hitter Robbie Grossman's grounder leading off the eighth. Marwin Gonzalez followed with a base hit that eluded Cano and put runners at the corners. Slumping Chris Carter lined an RBI single off Charlie Furbush to score Grossman.

Furbush (0-1) was pulled for Danny Farquhar but the rally continued. Jed Lowrie walked on a full count and Jake Marisnick followed with a single on the first pitch to score Gonzalez and tie the game at 3-3. Altuve then delivered the big blow that cleared the bases.

Taijuan Walker was in line for his first victory of the season -- and the first by a Seattle starter other than Felix Hernandez -- before the failures of the bullpen. Walker matched his career high with eight strikeouts and pitched into the sixth, allowing just one earned run. Walker lowered his ERA by nearly 7 points after allowed 14 earned runs in his first two starts.

Walker should have had one less strikeout and one more walk. George Springer struck out on a 3-2 pitch in the fifth, part of a perfect inning by Walker. But in a case of a mistaken count, the strikeout came after Walker had already thrown four balls.