Santiago, who entered the game in the eighth as a pinch runner, lifted Aaron Crow's pitch over the rightfield wall for only his fourth homer of the season. Joaquin Benoit (4-3) pitched two innings for the Tigers, matching his longest outing of the season.
Crow (3-4) struck out Wilson Betemit with the bases loaded to end the ninth, and he got the first out of the 10th before allowing Santiago's homer.
Detroit's Doug Fister retired the first 18 hitters he faced. He ended up allowing a run and four hits in 7 2/3 innings. He struck out six.
Indians 6, Athletics 2: Carlos Santana and Jack Hannahan hit two-run homers as host Cleveland won for the fourth time in five games. The Indians entered play a half-game behind the second-place White Sox and 5 1/2 behind first-place Detroit.
Jeanmar Gomez (1-2) allowed one unearned runs in six innings after being recalled from Triple-A Columbus. He took the rotation spot vacated by Josh Tomlin, who is on the disabled list with a sore right elbow.
Halladay (16-5) gave up Brandon Phillips' leadoff single in the first inning, then dominated the team he no-hit in the playoffs last season. His bases-loaded double in the sixth inning off Bronson Arroyo (8-11) made it 6-0.
Ryan Howard hit two of the Phillies' four homers, giving him 29 for the season. He also reached 100 RBIs for the sixth straight year, a team record.