HOUSTON (AP) -- Ask his manager, and it's been Brett Oberholtzer's confidence and maturity that has made a difference for him on the mound.
On Saturday night, Oberholtzer had two other things going for him - aggressive base running and hard hitting by his Houston Astros teammates.
Oberholtzer pitched seven strong innings, and Jose Altuve scored the go-ahead run on consecutive throwing errors by Toronto.
''Great all-around team win,'' Oberholtzer said. ''It was fun to be part of and to watch. Arguably one of the better games we've played all around.''
Singleton drove in L.J. Hoes in the eighth inning before getting called out on the tag at home plate. The Astros appealed the call and had it reversed upon review.
''I turned the burners on. I said 'I got to go,''' Singleton said of seeing the ball bounce off the wall in center field as Toronto's Anthony Gose slipped on the turf. ''I just kept running.''
The Astros have homered in nine consecutive games. They led the American League in home runs in July with 32.
Oberholtzer (4-7) gave up two runs and six hits while striking out five and walking one to win his second consecutive start. He retired his last 10 batters.
''To see him be able to not only make those pitches but make them with confidence, lets me know that he has taken a huge step forward as a major leaguer,'' Astros manager Bo Porter said.
R.A. Dickey (9-11) was tagged for five runs and nine hits over seven-plus innings. He struck out three. It was Dickey's first loss since July 18 after winning his previous two starts.
Nolan Reimold and Jose Bautista drove in a run each for the Blue Jays, who left seven on base and were 1 for 6 with runners in scoring position.
Altuve scored the tiebreaking run in the fifth. He singled on a line drive to center. He bolted toward second and third after a botched pickoff attempt by Dickey and came home after third baseman Steve Tolleson failed to secure Danny Valencia's errant throw.
''That's a base stealer,'' Dickey said of Altuve. ''I am trying to pick him off. Unfortunately, the throw was up the line just a tad.''
Carter homered off Dickey later in the fifth.
Castro hit a two-run homer off reliever Brett Cecil in the eighth inning. Hoes followed with a single before Singleton hit his 10th homer of the season off a deep fly ball to center.
''Today was one of those days we can definitely build off of and remember,'' Singleton said. ''We all played well. We made plays on defense and offense.''
Astros right-hander Mike Foltynewicz made his major league debut, pitching 2-3 of an inning and striking out Bautista.
''It was an unbelievable feeling,'' Foltynewicz said. ''They called down in the seventh inning and said 'You've got the eighth,' and the heart went into my stomach.''
He left to loud applause after treating fans to pitches in the high 90s.
Fans in attendance at Minute Maid Park were treated to a rare experience - outdoor baseball in Houston in August. The game was the first since 2004 to be played with the roof open in August.
Dickey said the open roof did affect his knuckleball.
''It was hot and humid, but I was fine,'' he said. ''I had a fine knuckleball.''
Blue Jays: Infielder Brett Lawrie (broken right index finger) continued his rehab assignment with Class-A Dunedin on Saturday night, playing third base. Lawrie fractured the finger June 22. He began his assignment Friday.
Astros: Infielder Marwin Gonzalez (right hamstring) is expected to see action Sunday for the first time since July 29. With the Astros having a day off Monday, Porter decided to give Gonzalez an extra day. ''He could have played today,'' he said. . Jesus Guzman, who left Friday's game with back spasms, underwent chest X-rays, which came back negative. Porter said Guzman will undergo more tests in the coming days.
Blue Jays rookie right-hander Marcus Stroman (7-2, 3.03) looks to continue his hot streak Sunday, opposite right-hander Scott Feldman (4-8, 4.39 ERA), who aims for his first win since June 29. Stroman has won his last three starts, allowing just one run in that span.