HOUSTON -- When the Houston Astros brought up Jonathan Villar from Triple-A they raved about his ability to make things happen when he gets on base.
In just his second major-league game, Villar showed exactly what they were talking about.
Villar scored the winning run from second base in the ninth inning when catcher Derek Norris had a passed ball and then made a bad throw to first base on the same play to give the Astros a 5-4 win over the Oakland Athletics on Tuesday night.
"I'm running hard every time," said Villar, a speedy shortstop who stole 31 bases in Triple-A this season.
Houston ended a 10-game losing streak against the A's this season and a six-game skid overall.
The Astros trailed 4-2 entering the ninth before Matt Dominguez hit a two-run homer off closer Grant Balfour (0-2) to tie it.
"It got a little bit ugly, and I didn't make good pitches," Balfour said. "I should have never put the team in that situation. I'm better than that."
The home run ended a franchise-record streak of 44 saves for Balfour, the sixth longest run in major-league history. It was his first blown save since April 29, 2012.
"It was a good run,'' Balfour said. "I should have had more, but I guess 44 is a remarkable number, so you can't be too upset about it. We're starting all over again. To me, it's just a number, but I'm happy I did it."
Justin Maxwell hit an infield single to start the ninth and advanced to second when Balfour attempted to make a throw to first from his knees and bounced it in the dirt for an error.
The homer by Dominguez bounced off the wall in left-center as Coco Crisp desperately tried to climb to grab it.
Villar, who finished with three hits, doubled with one out, and Jose Altuve walked before the defensive miscue ended it.
"It speaks to the resilience of that group in there,'' Houston manager Bo Porter said of the rally. "Every once in a while good things like this happen because you put yourself in position when you just keep fighting.''
Brandon Moss put Oakland on top 4-2 with a two-run homer in the eighth inning.
Josh Fields (1-1) pitched a scoreless ninth for the win.
The game was tied 2-2 when reliever Jose Cisnero plunked Josh Donaldson with two outs. Moss then sent a 95 mph fastball into the second deck in right field for his 17th homer.
Houston starter Jarred Cosart, yielded seven hits and two runs -- one earned -- in seven innings in his second major-league start after being recalled from Triple-A Oklahoma City on Tuesday.
Cosart, Houston's top pitching prospect, grew up in the Houston suburb of League City. He left more than 60 tickets for friends and family to see his first major league game in Houston.
"I couldn't feel any part of my body in the first inning," Cosart said. "There was a lot pressure, no matter what anyone says. Pitching in front of 30-something thousand, and I feel like I know half of them."
Oakland starter Jarrod Parker allowed five hits and one earned run in seven innings.
The Athletics took a 1-0 lead when Moss reached on an error by third baseman Dominguez that allowed Jed Lowrie to score in the first inning.
Villar got things going for Houston with a double in the first. The Astros tied it 1-1 with back-to-back singles by Altuve and Jason Castro.
The bases were loaded in the third when Moss grounded into a double play that Crisp scored on to put Oakland up 2-1.
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. He was sent to Oklahoma City after that game.
He wasn't as sharp early on Tuesday, but starting rolling in the fourth, pitching a 1-2-3 inning. Crisp singled with one out in the fifth, but Cosart faced the minimum in that inning after Houston turned a double play. Donaldson hit a one-out double in the sixth before Cosart retired the next two batters to end the threat.
Pinch-hitter Yoenis Cespedes grounded into a double play in the seventh to erase a leadoff walk by Chris Young. Eric Sogard doubled, but Cosart finished his night by battling Crisp on a seven-pitch at-bat before he struck him out looking, leaving Crisp angrily shaking his head at the plate.
Barnes robbed Young of a hit with a nifty diving catch in center field in the fourth inning.
The series wraps up on Wednesday when Oakland's A.J. Griffin opposes Bud Norris ... CF Barnes left before the seventh with a mild left calf strain. ... Cespedes, the Home Run Derby champ, was out of the starting lineup for the fifth straight game because of a sore left wrist. ... A's LHP Brett Anderson, on the disabled list since May 1 with a stress fracture in his right foot, is scheduled to throw 45 pitches in a bullpen session on Wednesday. He felt good after throwing 35 pitches on Monday. ... Longtime former Astros announcer Milo Hamilton, who had the memorable call on Henry Aaron's 715th home run, said Tuesday that he is giving up on his quest to call a game from his 60th ballpark because he is no longer able to fly because of poor health. Though he retired at the end of last season, he had hoped to travel to Target Field in Minnesota so he could reach the milestone. He is currently undergoing chemotherapy for treatment of a chronic form of leukemia he has had since the 1970s, but says he is feeling good.