Wandy Rodriguez, except for an almost inexplicable five-batter stretch, was as good as he's ever been. His teammates made sure this night would be remembered for the good.

Rodriguez struck out a career-high 13 batters in seven innings, and the Astros chipped away at a three-run deficit before Carlos Lee blasted them toward a 7-4 win over the Pirates on Monday night at Minute Maid Park.

With the Astros trailing 3-2 in the seventh inning, Jordan Schafer started a rally when he was grazed in the leg with a pitch. Jose Altuve put the go-ahead run on with a one-out double, and J.D. Martinez's grounder to third tied the game when the throw home from Josh Harrison hit Schafer in the back and all were safe.

Lee then coaxed a nearly roof-seeking three-run homer into the Crawford Boxes to break the tie for good and give the Astros a 6-3 lead.

"I thought the ball was going to hook foul," Lee said. "I don't know how I kept it straight.

"I guess when you're going good, good things happen," added Lee, who is 17-for-37 (.459) during a 10-game hitting streak.