Chavez (1-0) allowed four hits over six innings and retired seven of the final eight batters he faced after giving up a solo home run to Marwin Gonzalez in the fourth.
Gonzalez had two hits for the Astros. Houston has dropped seven straight.
Donaldson hit a two-run home run off Houston starter Brad Peacock (0-2) in the first and added an RBI double in the seventh. He also had a two-out double in the fifth.
TWINS 8, ROYALS 3
KANSAS CITY, Mo. (AP) — Phil Hughes ended a personal losing streak that dated to last July, pitching into the seventh inning and helping the Twins top the Royals to avoid a three-game sweep.
Hughes (1-1), who signed a $24 million, three-year deal in December, allowed an RBI single to Omar Infante in the fifth and a two-run homer to Alcides Escobar in the seventh while winning for the first time in 17 appearances. He had lost eight games since that victory on July 2 for the Yankees.
Josmil Pinto homered and Trevor Plouffe and Kurt Suzuki each drove in a pair of runs for the Twins, who battered Yordano Ventura (1-1).
The loss ended Kansas City's five-game winning streak.
TIGERS 2, ANGELS 1
DETROIT (AP) — Rick Porcello pitched seven sharp innings, and the Tigers took advantage of four errors in a victory over the Angels.
Three of those errors came on one play in the first inning, allowing Detroit's Ian Kinsler to score from first on a walk. Then in the sixth, Angels catcher Hank Conger threw wildly to first trying to pick off Austin Jackson. It was his second error of the game, and Jackson went to second.
Nick Castellanos followed with an RBI single to put Detroit ahead 2-1.
Porcello (2-1) allowed a run and five hits, striking out four and walking one.
Hector Santiago (0-3) allowed two unearned runs and two hits in 5 2-3 innings.
INDIANS 6, BLUE JAYS 4
CLEVELAND (AP) — David Murphy hit a three-run double in the sixth inning and John Axford worked out of bases-loaded jam in the ninth, lifting the Indians to a win over the Blue Jays.
Cleveland entered the sixth trailing 4-2, but reliever Aaron Loup (1-1) walked the bases loaded before Murphy delivered a line drive past third base that kicked off the stands and caromed into shallow left field, allowing all three runners to score.
Axford, the fourth Cleveland reliever, loaded the bases with two outs in the ninth before retiring Edwin Encarnacion on a groundout for his sixth save.
Josh Outman (3-0) recorded the final out of the sixth.