OAKLAND, Calif. -- On a day when his fastball didn't have much bite and his breaking pitches were flat, Jesse Chavez finally got the victory that had eluded him through the first two weeks of the season.
The 30-year-old starter also managed to carve a spot in the Athletics' history books along the way.
"Today was one of those days where I had to make pitches and see pretty much what I was made of as a starter," said Chavez after lowering his team-leading ERA to 1.38. "The only thing I had pretty much working today was my changeup. That was a good pitch that I needed."
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.
He struck out three, walked one and became the first pitcher in franchise history to be on the opening- day roster and allow one earned run or less in six innings during each of his first four starts.
"I think he'll tell you he struggled with his command moreso today than any other day," Oakland manager Bob Melvin said. "That's really the mark of a good pitcher, when you don't have your best stuff. He's been focused and ready for that opportunity and continues to run with it."
Oakland has the best record in the American League despite a shaky defense that committed its AL-leading 19th error.
Gonzalez had two hits for the Astros. Houston has dropped seven straight.
"We have an underperforming team right now, and when you underperform and make the mistakes that we make this is going to be the result," manager Bo Porter said.
Donaldson hit a two-run homer off Houston starter Brad Peacock in the first and added an RBI double in the seventh. He also had a two-out double in the fifth.
That helped offset an early miscue by Oakland's third baseman. Donaldson bobbled George Springer's grounder in the third, extending the team's worst defensive stretch since 2011.
Lowrie, the shortstop, also dropped a high popup by Springer in the eighth, marking four straight games in which the A's have committed at least two errors. Overall, Oakland has made an error in nine consecutive games.
"I don't like it," Melvin said. "You can't continually play defense like this and get away with it."
Three of Houston's first four batters reached base before Oakland's young right-hander settled down. After catcher John Jaso threw out Jose Altuve trying to steal third, Chavez got Marc Krauss to fly out.
The Astros also had two runners on with two outs in the third following Donaldson's fielding error but Chavez retired Krauss on a deep fly to right.
Houston managed just one baserunner against Chavez after that, a one-out walk to Dexter Fowler in the fifth.
Jim Johnson, still trying to win back the A's closer spot, replaced Chavez to start the seventh and retired the first two batters before walking Altuve. After Fowler reached when his sharp comebacker deflected off Johnson, reliever Sean Doolittle came in and got Jason Castro to fly out to left.
Luke Gregerson pitched the ninth for his third save.
Donaldson's two-run home run off Peacock (0-2) in the first put the A's up 2-0. Lowrie singled with one out before Donaldson hit the 3-1 pitch to left.
Gonzalez, who singled off Chavez in the second, hit a two-out home run in the fourth to cut it to 2-1.
Donaldson doubled in Coco Crisp in the seventh and Lowrie scored on a passed ball in the same inning.
Peacock struck out four and walked three in his first start of the season. The former Oakland prospect, who began the year in Houston's bullpen, allowed five hits over five innings.
Oakland slugger Yoenis Cespedes left the game in the top of the seventh with a bruised right heel. ... Gonzalez's home run was his first since June 5, 2013. ... Oakland OF Sam Fuld was claimed off waivers by Minnesota. ... Houston LHP Dallas Keuchel (1-1) pitches the series opener against Seattle on Monday. ... RHP Dan Straily (1-1) faces the Rangers for Oakland is 3-1 in six career starts against Texas.