TORONTO — Jordan Zimmermann was tired on Thursday afternoon.

Why? It's unclear, but inside the Detroit Tigers’ clubhouse before their first regular season game of the season, the right-hander spoke of being awake in the wee hours of the morning.

Hours later, Zimmermann had the Rogers Centre wired.

The veteran, fully healthy for the first time since he signed with the Tigers three years ago, carried over his strong spring into Thursday's opener by coming within seven outs of baseball history: An Opening Day perfect game.

The chase ended with two outs in the bottom of the seventh inning, on an infield single by Toronto Blue Jays outfielder Teoscar Hernandez. On a grounder up the middle, Tigers second baseman Josh Harrison made a diving stop to his right to get to the ball, but not soon enough to throw out Hernandez.

• Box score

Zimmermann struck out the next batter, walked off the mound and received a handshake from manager Ron Gardenhire: His almost-perfect day was done after 70 pitches.

Zimmermann struck out four batters and walked none as the Tigers beat the Jays, 2-0.

He dueled with Toronto righty Marcus Stroman, who took a no-hit bid of his own into the sixth before Nicholas Castellanos singled with two outs.

Neither team could manage a run, however, until the 10th inning, when rookie Christin Stewart showed some of the power he had displayed in the minors, sending a long home run into the second deck in right field. Stewart’s homer was the difference, scoring Niko Goodrum, who had doubled to leadoff the inning.

Related:Jordan Zimmermann flirted with a perfect game. Then someone jinxed him

Goodrum's and Stewart's hits snapped a skid by Tigers batters — seven straight strikeouts from the seventh to the ninth innings — that threatened to waste back-to-back scoreless relief innings from Joe Jimenez and Victor Alcantara.

Stewart's hit, on a hanging changeup from Daniel Hudson, was especially impressive. Not for the power, though that was there, but for the improbability of it: After striking out in two of his previous three at-bats, Stewart was once again behind, no balls and two strikes, before launching his bomb.

Closer Shane Greene earned the save in the 10th inning.

Thursday's win was the Tigers' second extra-inning Opening Day in as many years. 2018's opener, a 13-10 loss to the Pirates in Detroit, went 13 innings and included a video replay review at home plate that negated the potential winning run for the Tigers.

A year later, their season-opening victory could not be taken away, with Stewart, a powerful rookie hitter, delivering the deciding blow.

Listen to latest episode of Talkin' Tigers podcast with Dan Dickerson, Matt Shepard

More:Meet the Tigers' top-15 prospects: Scouts break down each player

Deep dive:Expect the old Miguel Cabrera to return this season. Here's why

Contact Anthony Fenech at afenech@freepress.com. Follow him on Twitter @anthonyfenech. Read more on the Detroit Tigers and sign up for our Tigers newsletter.