Verlander (12-12) had won his last two starts following a two-game losing streak, but was denied in his bid to become the eighth Tigers pitcher to win 150 career games.
The former American League MVP and Cy Young Award winner allowed nine hits and struck out seven while raising his season ERA to 4.80.
"Obviously, I didn't pitch as well as I wanted, but I really felt like I was a couple of pitches away from having a pretty decent game," Verlander said. "You have to look at the positives on a night like this. My arm strength felt better than it has and I got deepish into the game."
The loss sliced Detroit's lead over Seattle to one-half game in the race for the second AL Wild Card, while the Indians moved within four games. The Tigers also dropped 1 1/2 games behind first-place Kansas City in the AL Central.
"I saw a lot of good things out of Justin, and I thought he pitched better than the linescore indicates," Detroit manager Brad Ausmus said. "His fastball velocity was good, he threw some of the better curves that we've seen all year, and he even threw his back-door slider for a strikeout.
"It was a tough night, though, because we didn't score anything."
Cleveland right-hander Danny Salazar (6-6) was magnificent in throwing an eight-hit shutout for his first career complete game. He struck out nine without issuing a walk.
Miguel Cabrera was the lone Tigers player with two hits off Salazar, who started the 2013 AL Wild Game as a rookie. Detroit only pushed one runner past second base, but needed a fourth-inning error by Indians right fielder Zach Walters to do so.
"Salazar was really tough and kept challenging us with his fastball all night," Tigers catcher Bryan Holaday lamented. "We just couldn't hit him."
Ausmus agreed, saying, "He overpowered us, even on fastball counts. We just have to tip our hats to him and the Indians. They beat us tonight. That's what happened."
Carlos Santana hit a two-run homer in the first, which was the fifth of his career off Verlander. Former Cleveland slugger Jim Thome is the only player with more, belting seven.
The Indians tacked on two more runs in the fourth to go up 4-0, aided by two Detroit misplays. Second baseman Ian Kinsler committed a throwing error, while Victor Martinez couldn't snag a dying quail down the first-base line.
The wheels fell off for Verlander in the seventh, when he gave up back-to-back RBI hits to Michael Bourn and Jose Ramirez before Ausmus went to the bullpen. Pat McCoy entered and promptly allowed a run-scoring single to Michael Brantley, charging a seventh run to the Tigers' starter.
"We got on the board first -- again, like [Tuesday] night, with Carlos hitting a home run -- and then we added on, which was huge," Cleveland manager Terry Francona said. "When you started to see Danny take those guys out, man, it feels good because they can swing it when they smell it."
Salazar became the first Indians pitcher to throw a shutout against Detroit since Jaret Wright on June 1, 1998. He also struck out J.D. Martinez four times and whiffed Nick Castellanos twice in beating the Tigers for the first time in four career tries.
One night earlier, Martinez hit a three-run, ninth-inning homer off Cleveland closer Cody Allen to give Detroit a 4-2 victory.
"I guess it's the opposite of the old adage," Ausmus said. "Yesterday's hero is today's goat. But that happens in baseball."
Tigers catcher James McCann grounded out in his first Major League at-bat in the ninth, while fellow September callup Steven Moya followed with a single.
Moya, who is Detroit's seventh-ranked prospect by MLB.com, is 2-for-2 since being promoted from Double-A Erie.
"I don't know if the Hall of Fame will be calling yet, but 2-for-2 and hitting 1.000, I'd say Steven is off to a pretty good start," Ausmus said of Moya, the Eastern League MVP. "We're happy for him."