Lidge blew only his third save of the season and wasted another strong start by Roger Clemens, but Ensberg's 14th homer gave the Astros 10 wins in 15 games, as well as their first four-game winning streak since the first week of the season.
"It's OK, we saved him tonight, but he's going to save us a lot more times than we've save him," Astros manager Phil Garner said. "He probably wasn't as sharp as he has been. His fastball was a little up and they got on him quickly."
After wasting a two-run lead in the top of the ninth inning, the Astros got it back in the bottom half.
Chris Burke hit a one-out single and stole second. After Scott Schoeneweis (2-2) intentionally walked Craig Biggio, Miguel Batista came in and got Lance Berkman on a fly to center field before Ensberg's homer on a 3-0 pitch.
"Phil (Garner) has talked to me so much about 3-0," Ensberg said. "The credit goes to him. He talked to me so much about how I can hurt a team at 3-0 with a green light. That was a pitch where the swing worked with where the pitch was. It was a function of the ball being in the right place."
Clemens allowed three hits in seven innings, and the Astros took a 3-1 lead to the ninth. But Lidge's first blown save since May 24, cost Clemens his 333rd victory.
" I definitely made some bad pitches," Lidge said. "I didn't feel good about what I did, but I feel good about how the team came back. I was definitely giving Morgan a hug for saving me."
Shea Hillenbrand started Toronto's rally off Lidge (2-2) with a double to center. Eric Hinske singled him home, and after a sacrifice by Ken Huckaby, Alex Rios got his second RBI of the game with a single to left.
"We got to one of the best closers in the league and then we gave it away to them in the ninth, it was a tough loss," Huckaby said. "It was a cutter. You've got to tip your hat to Ensberg because he went down and got it and drove it. That's just like you're supposed to do."
At least Clemens reached a strikeout milestone.
Clemens finished with seven strikeouts and joined Nolan Ryan as the only pitchers to surpass 4,400 career strikeouts. Clemens now has 4,404, while Ryan is the all-time strikeout leader with 5,714.
Rios hit his fourth homer to start the fifth for the Blue Jays.
Facing the team he won Cy Young awards with in 1997 and '98, Clemens started the game with a strikeout, walk and single by Vernon Wells before he retired the next nine batters.
Clemens got the first two batters in the sixth and then walked Hillenbrand and Hinske. He got Gregg Zaun swinging at a 95-mph fastball to end the inning and then Zaun was ejected by home plate umpire Ted Barrett when the two got into a heated exchange.
"For him to give up a couple of runs like that, obviously, we're not used to that," Adam Everett said of Lidge. "The way they got four hits off him. That's uncharted territory for him. But when we can pick him up like that that's big for a ballclub."
Gustavo Chacin made his first start against the Astros and quickly got into trouble. Willy Taveras hit his first pitch just out of reach of diving right fielder Rios for a triple. Chris Burke followed with a shot near the same spot for a sacrifice fly.
A two-out double by Everett gave Houston another run in the fourth. Chacin intentionally walked Brad Ausmus to load the bases and then got Clemens to fly out on a full-count fastball to end the inning with a 2-0 deficit.
Lance Berkman hit an RBI single in the seventh.
Chacin pitched six innings, allowing seven hits and two earned runs.
- Clemens had a 41-13 record and 2.33 ERA in his two years with Toronto.
- The Astros have agreed to terms with 15 of their picks in the first-year player draft, including their second-round selection, catcher Ralph Henriquez of Key West, Fla.
- The Blue Jays are 7-6 when Chacin starts. Chacin has allowed four homers this season, fewest among Toronto starters.