Carrasco (1-0) walked one in 6 1-3 innings a day after signing a four-year contract.
Santana put Cleveland up with his homer in the fourth inning and Aviles added an insurance run with his home run to the Crawford Boxes in left field in the eighth.
Cody Allen pitched a perfect ninth for his first save.
Houston starter Scott Feldman (0-1) yielded five hits and a run in 6 2-3 innings in the loss.
The Astros had trouble stringing hits together on a night when the first five batters in the lineup went 1 for 19 with 10 strikeouts. Cleanup hitter Evan Gattis was 0 for 4 with four Ks.
Jason Kipnis added two hits for the Indians, who were playing without All-Star left fielder Michael Brantley, scratched before the game with stiffness in his lower back.
Pat Neshek had a tough time in his first game with the Astros, giving up the homer to Aviles followed by a single by Michael Bourn to start the eighth inning. He settled down after that, retiring the next three batters to end the inning.
Feldman had allowed two hits - both singles - before Santana's solo shot landed in the first row of the bleachers in right field with one out in the fourth inning.
Rasmus sailed through the next three innings, retiring six straight and nine of the next 10 batters. George Springer doubled with one out in the sixth, but Carrasco struck out Luis Valbuena and Evan Gattis to end the inning.
Carrasco collected his 10th strikeout when he got Chris Carter on an 83 mph curveball that ended the pitcher's night. Nick Hagadone took over and walked Castro before he was chased when Lowrie got a single on a hard-hit grounder that third baseman Chisenhall couldn't handle.
Marc Rzepczynski came in and Rasmus hit into a double play to allow the Indians to escape the jam.