The Astros had themselves a 4-2 lead, Alex Bregman had hit his first career home run and Jose Altuve was one hit away from 1,000.
But then St. Louis' Tommy Pham tied the game with a two-run home run in the top of the fifth. Then in the sixth Houston starter Dallas Keuchel could not retire either of the first two batters he faced and things got quite ugly when Pat Neshek came into the game.
Marwin Gonzalez made a nice stop, but an RBI groundout off the bat of Yadier Molina snapped the tie. Johnny Peralta singled and Jedd Gyorko blew the game open with a three-run bomb to center field. Neshek has allowed eight of his 27 inherited runners this season to score.
For Keuchel, that's back-to-back disappointing starts after his shutout against Texas. Although his last outing against Minnesota was washed away, Tuesday's effort -- five innings, six runs on six hits -- continues a disappointing season for the reigning AL Cy Young Award winner.
But back to the positives for a second. After falling behind 2-0 in the first, George Springer was hit by a pitch to lead off the bottom of the inning before Bregman went opposite field for his first MLB home run.
Marwin Gonzalez homered in the third inning to give the Astros the lead and Altuve's 999th career hit was an RBI single in the fourth to drive in Jake Marisnick.
Then all the bad stuff happened (see above).
But after that, Jason Castro hit his longest homer of the Statcast era. Chris Devenski was lights freaking out again, retiring all six batters he faced. He now has an ERA of 1.56 as a reliever this season (28 games).
And although the Astros were unable to complete the comeback, Altuve singled to left with one out in the ninth inning to become the fastest player in Astros history to reach the milestone. It took Jose just 786 games to reach 1,000 knocks.