HOUSTON — The Toronto Blue Jays haven't scored many runs in the first three games of their four-game series against Houston. So far, strong pitching and timely home runs have been enough.

Josh Donaldson hit two home runs, Marco Estrada threw seven solid innings and Toronto beat the Houston Astros 3-1 on Wednesday night.

The Blue Jays have scored six runs in the three games — all on solo homers.

"We're not scoring a lot of runs," Toronto manager John Gibbons said. "It's been pretty impressive pitching on both sides these three games. But our pitching has been so good too when we do get a couple runs we've been able to put it away because we've had a tough, tough time down here."

Jose Bautista hit his second home run in two nights in the sixth as he and Donaldson went back-to-back.

"Any home run from anyone is huge," Estrada said. "It was a pitcher's duel, and luckily, we pulled off a couple homers to give me a cushion there. Any home run that's hit is always huge."

Donaldson led off the fourth with a home run to right field before hitting his 27th home run of the season in the sixth. It was Donaldson's third multi-homer game this season.

"I was able to barrel out a couple balls that I felt were mistakes," Donaldson said.

Estrada (7-4) won his second straight start, allowing one run and four hits with seven strikeouts.

"I just want to follow (Russell Martin) as much as possible," Estrada said. "They have a really good lineup over there, bunch of young stars over there. They put together some good at bats. I'm glad my changeup was working pretty well and even some decent cutters."

Estrada has allowed four runs or fewer in each of his past 12 starts.

"I can't say I haven't seen it before," Gibbons said about Estrada. "That's what he does. That's the way he's been since he came over here. That's a typical outing if you want to know the truth. He's really, really good.

Joe Biagini escaped a one-out jam in the eighth, inducing a flyout from Jose Altuve and striking out Carlos Correa to strand runners on second and third. Roberto Osuna pitched the ninth for his 23rd save.

"Altuve was aggressive knowing he was going to get a strike," Houston manager A.J. Hinch said. "You know Correa's at-bat, their guy did a pretty good job of getting ahead of him and it was a bad time for a miss. Human element of the game sometimes you know hurts you and in that regard it was a borderline pitch that didn't go our way."

Marwin Gonzalez, who had missed the past four games with a right hand injury, had a double in the sixth. Altuve followed with an RBI double to cut the lead to 3-1.

Houston has lost five of its past six games.

Collin McHugh (7-8) allowed three runs and six hits with 10 strikeouts in six innings. The right-hander, who allowed a season-high three home runs, was coming off his worst outing of the season Friday when he allowed eight runs in 1 2/3 innings of a 14-6 loss to Detroit.

"Home runs are kind of accidents," McHugh said. "They could have easily been doubles or singles if it's an inch higher or an inch lower. They found barrel on fastballs and it got out of the park."

TRAINING ROOM

Blue Jays: SS Troy Tulowitzki (thumb) was out of the lineup for the third straight game Wednesday. Tulowitzki hit off a tee and was expected to take batting practice, Gibbons said.

Astros: RHP Lance McCullers was placed on the 15-day disabled list with a mild sprain of the right elbow. RHP Brad Peacock was recalled from Triple-A Fresno to take McCullers' roster spot.

UP NEXT

Blue Jays: LHP J.A. Happ (14-3) will be going for his ninth straight win Thursday. The left-hander has not lost since June 6 and has allowed three runs or fewer in each of his past five starts.

Astros: RHP Mike Fiers (7-4) will take the mound in the finale of the four-game series. Fiers is coming off a solid outing Saturday against Detroit where he took a no-decision after allowing one run in 6 1-3 innings.