Jo-Jo Reyes insists his confidence isn't shaken by a lengthy wait between wins.
Reyes looked poised to end a 26-start winless streak after pitching seven shutout innings. But the Toronto lefty saw his misery extended when Hunter Pence tied it with a two-out, two-run double off Jon Rauch in the eighth. The blown save was Rauch's second of the season.
"Jo-Jo was pitching great and keeping us off balance," Pence said. "He had a really good changeup along with 92 (mph) on the corners."
Reyes denied being frustrated by the latest episode in his winless streak.
"We have an awesome bullpen," he said. "That's not going to happen every night."
Reyes' last victory came with Atlanta against the Los Angeles Dodgers on June 13, 2008. The left-hander is 0-12 with a 6.41 ERA since.
Matt Keough holds the major league record, making 28 consecutive winless starts for Oakland from Sept. 6, 1978-Aug. 8, 1979.
Reyes allowed five hits, all singles, walked one and struck out a season-high seven.
Rauch offered up his apologies to Reyes for giving up the lead.
"Jo-Jo did a hell of a job today and gave us a real good chance to win that ballgame," Rauch said. "We let him down."
Houston took the lead in the ninth when Matt Downs drew a one-out walk off Frank Francisco (1-1) and Johnson followed with a two-run shot to left, his fifth.
"It was a fastball," Johnson said of his go-ahead blast. "It's one of those ones where you hit it and just immediately know 'I got it.' It's a pretty good feeling."
The Astros owners of the worst record in baseball at 16-29, had lost five straight and 10 of 12 coming in, but rallied to win despite trailing 2-0 through seven innings. They improved to 2-22 when trailing after seven.
"We've been getting runners on but those big hits have been eluding us," Astros manager Brad Mills said. "Tonight we got two of them."
Angel Sanchez followed Johnson's homer with a single to center. After Shawn Camp replaced Francisco, Sanchez moved to third on J.R. Towles' grounder to short and scored on a base hit by Michael Bourn.
Bourn went 3 for 4 with an RBI, stole two bases and scored a run.
Wilton Lopez (1-1) struck out all three batters he faced to get the win and Mark Melancon worked the ninth for his second save.
"We needed to get one," Pence said. "It's been a rough road trip so far. It feels really good to get this one."
Making his fourth career start, rookie right-hander Aneury Rodriguez allowed two runs and eight hits in 5 2-3 innings, his longest outing since joining Houston's rotation May 4. He walked one and struck out three.
"He got us into that sixth inning and he gave us a chance to win," Mills said.
Toronto opened the scoring in the second. Aaron Hill led off with a double but was thrown out at third trying to advance on Juan Rivera's grounder to short. Rivera went to third on J.P. Arencibia's double and scored on a grounder by Eric Thames.
The Blue Jays doubled their lead and chased Rodriguez in the sixth. Hill doubled again and Rivera reached when his flare to shallow right dropped between Pence and second baseman Bill Hall. After Arencibia flied out to center, left-hander Sergio Escalona came on and struck out Thames. Astros manager Brad Mills made another change, but Rajai Davis lined an RBI single on the first pitch he saw from righty Enerio Del Rosario.
After going 0 for 4 Thursday to snap a 23-game streak of reaching base safely, Toronto's Jose Bautista started 0 for 3 before walking in the seventh.
NOTES: Towles is mired in a career-high 0-28 slump. ... Toronto OF Corey Patterson's single to left in the third was the 1,000th hit of his career and extended his hitting streak to 11 games, matching a career high. ... Astros IF Brett Wallace was held out of the starting lineup against Toronto, the team that traded him to Houston last summer, but came on as a defensive replacement in the ninth. Matt Downs started at 1B. ... Blue Jays RHP Jesse Litsch (shoulder) was placed on the 15-day DL, retroactive to May 19, and INF Mike McCoy was recalled from Triple-A Las Vegas. RHP Carlos Villanueva will start in Litsch's place Monday at New York.