Sure enough, Cabrera lifted a deep flyball to right-center, forcing Barnes to race over with the game on the line.
"I just knew if he hit it out there, I'd have to get a good bead on it," Barnes said. "Just try to get under it and not stop until the catch was made."
Barnes caught Cabrera's drive against the wall for the final out, and the Houston Astros avoided a season sweep against the Detroit Tigers with a 7-5 victory Wednesday. Carlos Corporan hit a tiebreaking double in the top of the ninth for the Astros, who lost their first six meetings with the Tigers by a combined 50-12.
Houston barely held on in this one after scoring two runs in the ninth to take the lead. Jose Veras pitched the ninth for his fifth save in seven chances, but he walked two, and when he hit Torii Hunter with an 0-2 pitch, the bases were loaded with two out and Cabrera coming up.
The Triple Crown winner came a few feet from a grand slam, but Barnes -- who entered as a pinch-runner in the top of the inning and stayed in to play center -- had enough room to run it down and make the catch while jumping back a bit into the out-of-town scoreboard.
The previous night, Detroit's Andy Dirks hit a double to almost that same spot. Houston right-hander Lucas Harrell expressed frustration that the ball wasn't caught, and manager Bo Porter met with Harrell before Wednesday's game to discuss the team's philosophy on defensive shifts.
Barnes said he was playing a bit deep for Cabrera, but wasn't too far to either side.
"I was pretty straight up," Barnes said. "I mean, he can hit the ball anywhere."
Detroit's Al Alburquerque (0-1) walked Martinez starting the ninth, and manager Jim Leyland pulled him.
"It's depressing," Leyland said. "If I had seen any signs that he was going to throw the ball over the plate, I would have left him in. I didn't really want (Phil) Coke against a switch-hitter."
Coke, a left-hander, came on and allowed Corporan's double to the gap in left-center. Matt Dominguez added a sacrifice fly.
Alburquerque has struck out 26 in 14 1/3 innings this year, but he's also walked 13 and thrown six wild pitches.
"Maybe not getting enough work -- I don't know the answer," Leyland said. "He's struggling with his control."
Hector Ambriz (1-2) got the win as Houston stopped a six-game losing streak.
"Sometimes we pitch good but we don't hit. Sometimes we hit but we don't pitch good. Sometimes we put it together like today," Corporan said. "We've been scoring some runs. It takes things like this to turn around some things."
The Astros are without standout second baseman Jose Altuve, on the bereavement list following the death of his grandmother.
The 21-year-old Garcia, playing center field because of Austin Jackson's hamstring injury, hit his first major league homer in the second, a three-run shot to left-center that gave the Tigers a 4-1 lead.
Detroit starter Max Scherzer couldn't hold it. He allowed a double to Jake Elmore to start the fourth, then balked him to third. Carlos Pena hit a run-scoring single, and after a walk to Chris Carter, Martinez hit his third homer of the year, a no-doubter to left-center that landed near Willie Horton's retired No. 23 on the brick facade well behind the visiting bullpen at Comerica Park. The three-run shot put the Astros ahead 5-4.
Scherzer allowed five runs and five hits in seven innings. He struck out seven and walked three.
Houston starter Dallas Keuchel allowed five runs -- four earned -- and seven hits in 5 2/3 innings.
Detroit tied it at 5 with an unearned run in the sixth. With two out, shortstop Marwin Gonzalez misplayed Victor Martinez's grounder for an error. Jhonny Peralta followed with a single, and Matt Tuiasosopo tied it with a single.
Corporan opened the scoring with a second-inning solo homer. The Tigers tied it in the bottom of the inning on an RBI single by Brayan Pena, and Garcia followed with his home run.
Keuchel and Detroit reliever Drew Smyly were roommates while playing college baseball at Arkansas. ... The Astros have Thursday off. Detroit sends ace Justin Verlander (4-3) to the mound at Texas in a terrific pitching matchup against Yu Darvish (6-1) of the Rangers.