Shortstop Clint Barmes hit a three-run homer and J.A. Happ pitched six solid innings against his former team as the Houston Astros beat Philadelphia 5-2 on Tuesday night, preventing the Phillies from wrapping up a playoff spot.

"I hit it good," Barmes told concerning his fourth inning homer. "I felt like it was good off the bat, but at that point I didn't know for sure if it had enough to get out in that corner right there, or if it was going to get into the Crawford seats. Fortunately, it hooked enough at the end and it got in the seats, and I was able to jog at that point."

The Phillies needed a win over Houston or a loss by St. Louis to clinch at least a wild-card berth. But the NL East leaders will have to wait to secure their place in the postseason after the Cardinals beat the Pirates 6-4 on Tuesday night.

Philadelphia starter Cole Hamels (14-8) fell to 0-3 in his last five starts against the Astros after going 3-0 in his first four career starts against them.

Astros backup outfielder Jason Michaels, who was starting in right field, broke a bone in his left hand while making a diving catch in the second inning.  Michaels' left hand, his glove hand, rolled over as he made the catch. He will have surgery today and will be out for the season.

The Astros won their second straight game to avoid setting a franchise record for losses at 98.

Information from the Associated Press used in this report