HOUSTON -- Scott Feldman didn't get frustrated after allowing six hits in the first three innings Sunday.
He kept attacking, and it paid off.
Feldman (5-8) retired 17 of the last 19 batters, including nine straight at one point, and won for the first time since June 29. It was his first complete game since Sept. 6, 2013, against the White Sox.
"I was just trying to battle through it," Feldman said. "Once I got that double play with the bases loaded in the third, I felt like I got into a better groove."
Houston manager Bo Porter said Feldman was outstanding and looked like he did in April, when he went 2-1 with 1.69 ERA.
"The cutter was really working. He was able to get in on the lefties and just had that late life to his fastball," Porter said. "He was sinking it away and did a really good job today."
Carter's two-run single in the third gave the Astros the lead.
"I was thinking to get a ball up there in the zone and put it in play and not strike out there with the bases loaded," Carter said.
Dominguez had an RBI single as part of a three-run fourth and added a sacrifice fly in the fifth.
Marcus Stroman (7-3) allowed five runs on seven hits in three-plus innings. He had allowed one run in 21 innings over his last three starts.
"I just didn't have my stuff," Stroman said. "I had trouble putting guys away. It was just a tough one, but I'm not discouraged."
Jose Reyes had three hits for Toronto. He remained in the game after sliding head first into second in the first inning and appearing to hurt his right shoulder on the play.
Ryan Goins' RBI single in the second put Toronto up 1-0.
"We've been playing good baseball," Toronto manager John Gibbons said. "The last three games didn't go our way, and we got outplayed, pure and simple."
Blue Jays: Toronto is off Monday before returning home to start a three-game series against division rival Baltimore on Tuesday. Lefty Mark Buehrle (11-7, 3.11) will start Tuesday for the Blue Jays.
Astros: Houston is also off Monday before traveling to Philadelphia for a three-game interleague series. Left-hander Dallas Keuchel (10-7, 2.97) will start Tuesday for the Astros.
Blue Jays: Infielder Brett Lawrie, who has been on the disabled list since June 23 with a fractured right index finger, will continue a rehab assignment at Single A Dunedin. Lawrie went 2 for 3 hitting leadoff Saturday night and played third base after starting at second base Friday night.
Astros: Infielder Jesus Guzman was placed on the 15-day disabled list with back spasms, and the Astros promoted outfielder Domingo Santana from Triple-A Oklahoma City on Sunday. .. Outfielder George Springer, who has been on the disabled since July 20, will start a rehab assignment Monday at Single A Quad Cities.
CABRERA'S STREAK SNAPPED
Toronto outfielder Melky Cabrera had his hitting streak snapped at 10 games after going 0 for 4. Cabrera, who ranks second in the majors with 142 hits and is third in multihit games with 41, has a hit in 89 of 112 games this year.
SINGLETON HEATING UP
Singleton recorded his second straight multihit game and is 7 for 15 in his last three starts. Of the rookie's 36 hits this season, 19 have been for extra bases.