HOUSTON (AP) — Gerrit Cole had a special game on his 29th birthday Sunday.

If not for Shed Long's homer into the short porch in left field, the day would have been perfect.

Cole allowed one hit with 15 strikeouts in a season-high eight innings , and the Houston Astros routed Félix Hernández and the Seattle Mariners 21-1 to complete a four-game sweep.

"He makes it look pretty easy," Astros manager AJ Hinch said. "He was locked in command-wise, stuff-wise, intensity-wise."

Cole (16-5) walked none in winning his 12th straight decision and joined Pedro Martinez as the only pitchers in major league history with 14 or more strikeouts in three straight games. Cole leads the major league with a career-high 281 strikeouts, and his 2.73 ERA in second in the AL behind the 2.52 for teammate Justin Verlander.

One of the toughest parts of Cole's day was staying loose while the Astros created long innings.

"I'm not complaining, but it was challenging a couple times when you're scoring that many runs," he said. "But I guess I'm always up for a challenge."

Chris Devenski struck out two in a perfect ninth, finishing a series in which Houston outscored the Mariners 41-15.

Jake Marisnick and George Springer homered, and rookie Yordan Álvarez had a season-high six RBIs and hit three of Houston's team-record 11 doubles. The Astros are 16-1 against Seattle this year, winning 11 in a row.

After beating Baltimore 23-2 earlier this season, Sunday's win made the Astros the first team to win two games by 20 or more runs in a season since the New York Yankees did it three times in 1939, according to STATS.

"The team offense was incredible today," Hinch said. "We put up good at-bat after good at-bat. We scored double-digit runs before we hit our first single. That's the kind of day it was. It was a special day for our offense."

Hernández (1-6) tied his career high, allowing 11 runs. He lasted just two-plus innings and gave up seven hits.

With runners at second and third and two outs in the second, shortstop Dee Gordon couldn't handle Martin Maldonado's grounder, allowing two runs to score on the error. Marisnick sent Hernandez's next pitch into the left-field seats for his 10th homer and a 4-0 lead.

"We knew coming into the ballgame that you're up against it and you're hoping to hold them down," manager Scott Servais said. "That just wasn't the case. Made a costly error early and then it got away from us after that."

Seattle's day got even worse during a nine-run third that included six doubles , including a pair by Álvarez that drove in three runs. Aledmys Díaz, Kyle Tucker and Maldonado also doubled in runs off Hernández, who slumped his shoulders and shook his head as he watched Maldonado's ball skip into the outfield on his final pitch. Hernandez's face was expressionless as he slowly walked off the field.

Hernández was asked what he tried to do to get out of the third inning.

"Everything," he said. "When you're making mistakes, you're going to get hit, especially against the Astros."

All nine Astros starters scored a run in the first three innings for the first time since June 12, 2015 — also a game Hernández started.

Erik Swanson allowed a two-run homer to Springer, who returned following a concussion that caused him to miss three games.

TRAINER'S ROOM

Mariners: OF Jake Fraley sat out on Sunday after leaving Saturday night's game with a sprained thumb. Servais said X-rays were negative but that he'd have an MRI on Monday to further assess the injury.

Astros: 1B Yuli Gurriel was out of the lineup for a second straight game with a sore left hamstring, but was doing better on Sunday and Hinch said he should return Tuesday or Wednesday.

THEY SAID IT

Servais on his team's pitching on Sunday: "You've got to throw strikes. We got behind in the count. You've got to stay after them. No matter what kind of stuff you have that particular day you've got to stay in the strike zone. We did a pretty good job in this series leading up to today but this was not a good effort."

UP NEXT

Mariners: Seattle is off on Monday before LH Justus Sheffield (0-1, 5.51 ERA) starts the opener of a three game series against Cincinnati on Tuesday. Sheffield scattered five hits over five scoreless innings in his last start but did not factor in the decision in Seattle's 5-1 loss to the Cubs.

Astros: RHP Zack Greinke (14-5, 3.09) will start for Houston on Monday in the opener of a four-game series against Oakland. Greinke lost his first decision since being traded from the Diamondbacks in his last start after yielding four runs and eight hits over six innings of a 4-2 loss to Milwaukee.

More From 1460 ESPN