Cleveland also improved to 8-0 against the Tigers this year, outscoring them 51-16.
The Indians spoiled Anibal Sanchez's return to the Detroit rotation. The right-hander allowed a homer to Santana on the game's second pitch, and Lindor added another solo shot one out later.
Carrasco (3-2) struck out seven and walked one. He threw a season-high 117 pitches in his third career shutout and first of the year.
Sanchez (4-8) made his first start since May 31 after being demoted to the bullpen for a bit. He allowed four runs and five hits in five innings.
Santana opened the scoring with his 16th homer of the season, a drive down the right-field line. Lindor's homer later in the first cleared the wall in the same area near the foul pole.
Rajai Davis made it 3-0 with an RBI single in the second, and Sanchez allowed another run in the third before finishing his outing with perfect innings in the fourth and fifth.
Lindor's second homer came in the eighth -- again down the line in right. He now has 10 home runs on the season.
Gomes hit a solo shot in the ninth.
Carrasco never allowed more than one baserunner in an inning, and he retired 11 in a row before Miguel Cabrera's one-out single in the ninth.
Tigers: OF Steven Moya (knee) did not play.
Indians: Josh Tomlin (8-1) takes the mound Sunday when Cleveland tries for a three-game sweep against the Tigers. The right-hander has allowed only seven walks this season.
Tigers: Justin Verlander (7-5) tries for his 12th quality start of the year. He's struck out 69 in 65 1/3 innings since May 8, and opponents are hitting .190 off him in that span.