HOUSTON -- There was only one word to describe Oakland's play through four innings Monday night against the Houston Astros.
"Ugly," player after player and manager Bob Melvin said.
As ugly as the start was, the Athletics managed to put it behind them and rallied for a 4-3 win.
Josh Reddick put Oakland on top with a two-run homer in the eighth inning, and the Athletics remained perfect this season against the Astros.
Chris Young hit a solo homer for the A's, who are 10-0 against their new AL West foes this season and 15-1 all-time. The Astros have lost six straight overall.
Houston took an early 3-0 lead thanks in part to Oakland tying a season high with three errors -- all in the first three innings.
"That was the overriding feeling at the end of the game was that as badly as we played at the early part of the game, we stayed with it," Melvin said. "We didn't give up. We didn't put our heads down and say, 'Oh well, we are just having a bad game.'"
Young's shot cut the lead to one in the seventh before Reddick's drive to right field off Wesley Wright (0-4) made it 4-3.
"It's one of those things where, you know that is the right matchup; it's the matchup you want," Houston manager Bo Porter said. "If you don't win that matchup, you don't deserve to win the game."
Young also tripled for another big game in his hometown.
Three of Young's nine homers this season have come at Minute Maid Park, and he's hit eight home runs with 30 RBIs in 22 career games in Houston.
Young is hitting .333 against Houston this season but just .165 against everyone else.
"Fortunately, (Young) came up with a big at-bat," Reddick said. "I think that got the energy up in the dugout that we really needed to get going, especially since we left so many runners on base early on. After that happened, it kind of picked us up a little bit."
Ryan Cook (3-2) pitched a perfect seventh for the win, and Grant Balfour did the same in the ninth for his 26th save. Balfour, who is the only closer without a blown save this season, has converted his past 44 chances dating to last season, an Oakland record and the sixth-longest streak in major league history.
Chris Carter drove in a run for Houston, and shortstop Jonathan Villar singled, scored and had a stolen base in his major league debut.
Oakland starter Tommy Milone allowed five hits and three runs -- two earned -- in six innings.
"Just the way it went, obviously there was something that was off," Milone said. "As a team, I don't think we felt comfortable on the field or at the plate. But we were able to stay in the game and get those big hits when we needed them."
Dallas Keuchel yielded five hits and a run with five strikeouts in six innings for Houston.
Villar got his first major league hit with a bunt single in the third. Villar, who stole 31 bases in Triple-A this season, quickly swiped second. Carter's single to center scored Villar to extend the lead to 2-0.
Carter scored on an error by second baseman Grant Green when he couldn't make the catch on a routine fly.
Josh Donaldson singled to start the Oakland sixth before a double down the right-field line by Nate Freiman. Reddick drew a walk with one out to load the bases, and a sacrifice fly by Green got Oakland within 3-1.
Keuchel escaped the inning when he struck out Seth Smith.
The series continues Tuesday when Houston's top pitching prospect, Jarred Cosart (1-0), will be recalled from Triple-A Oklahoma City to make his second major league start, against Jarrod Parker (6-6). The 23-year-old Cosart took a no-hitter into the seventh inning and got the win in his debut against Tampa Bay just before the break, allowing two hits and no runs in eight-plus innings. ... Home Run Derby winner Yoenis Cespedes was out for the fourth straight game because of a sore left wrist but is feeling better. Melvin said Cespedes did a lot of work in the cage and will take batting practice Tuesday if he doesn't feel any soreness. Melvin isn't sure whether Cespedes could play Tuesday. ... A's LHP Brett Anderson, who has been on the disabled list since May 1 with a stress fracture in his right foot, threw 35 pitches in a bullpen session. "He threw the ball really well," Melvin said. "You could tell he was excited to be out there, and he didn't have any issues with his foot." Melvin said Anderson will throw another bullpen session Wednesday.