TORONTO (AP) -- Jordan Zimmermann was in peak form on opening day.
The right-hander took a perfect game into the seventh inning, Christin Stewart hit a two-run homer in the 10th and the Detroit Tigers beat the Toronto Blue Jays 2-0 Thursday.
"One of those days where everything was working and the command was really good," Zimmermann said.
Zimmermann, who pitched a no-hitter for Washington on the final day of the 2014 season, came close to bookending it -- Hall of Famer Bob Feller threw the only no-hitter on opening day, for Cleveland in 1940.
This bid ended when Teoscar Hernandez reached on a two-out infield single. Hernandez grounded a 1-2 pitch to the shortstop side of second base. Josh Harrison made a sliding play, but his throw to first was late and wide.
"It was really a good pitch," Zimmermann said. "It was off the plate and down and he just hit a grounder where they weren't."
That was the only hit Zimmermann allowed in seven sparkling innings. He struck out four and threw only 70 pitches.
"He was in control of the plate, just getting enough of the corners," Tigers manager Ron Gardenhire said. "He did a really nice job of changing speeds, adjusting and using all of his pitches very well."
Blue Jays rookie manager Charlie Montoyo called Zimmermann's performance "outstanding."
"He was pitching in and out, keeping our hitters off balance," Montoyo said.
According to the Elias Sports Bureau, Zimmermann's 6 2/3 innings marked the longest bid for a perfect game on opening day since April 16, 1940, when Lefty Grove threw seven perfect innings for the Boston Red Sox against the Washington Senators.
"He was in the zone," Stewart said.
Niko Goodrum doubled off Blue Jays right-hander Daniel Hudson (0-1) to begin the 10th, and Stewart homered to right field on an 0-2 pitch.
"That one got too much of the plate and he killed it," Gardenhire said.
Victor Alcantara (1-0) pitched one inning for the win and Shane Greene finished for a save as Detroit won its opener for the seventh time in eight seasons.
The Blue Jays lost their eighth consecutive home opener -- tying the third-longest streak in baseball history. Pittsburgh dropped eight straight from 1994-2001, and the Washington Senators did it from 1963-70.
The Brooklyn Dodgers lost a major league-worst 11 straight home openers from 1903-13, and Oakland lost 10 in a row from 2005-14.
Blue Jays right-hander Marcus Stroman walked Harrison, the first batter of the game, on four pitches but didn't allow a hit until a two-out single by Nicholas Castellanos in the sixth. Stroman yielded two hits and walked four in seven scoreless innings.
YESTERYEAR
Zimmermann pitched a no-hitter against Miami on Sept. 28, 2014, the first in Nationals history. Outfielder Steven Souza Jr. made a dramatic, diving catch for the final out, retiring Christian Yelich. Souza, who had just entered the game as a defensive replacement, used his bare hand to squeeze the ball in his mitt as he fell.
Feller threw his opening day no-hitter against the Chicago White Sox on the same day Grove took a run at that perfect game: April 16, 1940. The Indians won 1-0.
MIGGY'S RETURN
Playing for the first time since June 2018 after missing the second half of last season because of a biceps injury, Tigers slugger Miguel Cabrera went hitless in four at-bats. He struck out once and grounded into a double play.
FAN A LOT
Three Blue Jays pitchers combined to strike out seven straight Detroit batters in the late innings, a streak that began when Stroman fanned Grayson Greiner for the final out of the seventh. Right-handers Joe Biagini and Ken Giles came on and struck out the side in the eighth and ninth, respectively.
TRAINER'S ROOM
Tigers: OF JaCoby Jones (strained left shoulder) is expected to miss at least the first two weeks of the season. ... RHP Drew Verhagen (right shoulder) is on the 10-day injured list.
Blue Jays: Toronto recalled 1B Rowdy Tellez from Triple-A to take the place of DH Kendrys Morales, who was traded to Oakland on Wednesday. ... Several Blue Jays began the season on the 10-day injured list, including LHP Ryan Borucki (left elbow), RHP Ryan Tepera (right elbow), RHP Clay Buchholz (right flexor strain), RHP David Phelps (elbow surgery) and OF Jonathan Davis (right ankle). OF Dalton Pompey is on the seven-day concussion list. RHP Bud Norris (right forearm) was not healthy in time for opening day. ... The Blue Jays selected the contract of RHP Javy Guerra from the minors.
UP NEXT
Tigers: LHP Matthew Boyd went 1-1 with a 5.00 ERA in five spring training starts, striking out 20 batters in 18 innings.
Blue Jays: RHP Matt Shoemaker makes his first start with Toronto after signing as a free agent. He had no record and a 5.00 ERA in five spring outings.