Hunter Pence added a pair of home runs for Houston, one in the fifth inning and another in the eighth, and Roy Oswalt (3-3) evened his record after a shaky start to the season by allowing six hits and three earned runs in six innings.
The Astros trailed 4-2 before Tejada's two-run shot to left off starter Carlos Villanueva with one out in the sixth. Berkman followed with his home run to almost the exact same spot in the left field Crawford Boxes to make it 5-4 and give Houston its first lead of the game.
Villanueva got a short visit on the mound from coaches after Berkman's homer but remained in the game. Lee then completed the string of home runs and chased Villanueva with his home run, also to left field.
It was the fifth time in franchise history Houston had hit three straight homers. The last time came on Aug. 31, 2004, when Berkman teamed with Carlos Beltran and Jeff Bagwell.
Geoff Geary pitched a scoreless seventh and Doug Brocail did the same in the eighth for Houston.
Astros closer Jose Valverde hit Prince Fielder with a pitch to start the ninth before striking out Corey Hart. The Astros had a chance to end the inning when Bill Hall grounded to Kaz Matsui, but after tagging Fielder he threw the ball over Berkman's head and into the stands for his third error of the night.
Valverde struck out J.J. Hardy to get his sixth save in nine opportunities.
Villanueva (1-3) retired the first 11 batters before a single by Tejada with two outs in the fourth inning. Villanueva got out of the inning on a pop fly by Berkman, but wound up allowing nine hits and six runs with four strikeouts in five innings.