Nick Ahmed drove in two runs as the Diamondbacks won their third straight.
"Great team win," outfielder Jarrod Dyson said. "Zack pitched his butt off."
Greinke (7-2) allowed four hits in six-plus innings to win for the first time in four starts. He was 0-1 in three games since a May 15 victory over Pittsburgh.
"The fastball command wasn't amazing but the offspeed was good to keep them off balance a little bit," Greinke said.
Toronto was blanked for the fifth time this season, all of them coming at home. The Blue Jays didn't put a runner in scoring position until the fifth, when Teoscar Hernandez hit a two-out single and Brandon Drury walked. Greinke struck out Luke Maile to end the threat.
"That's what Zack does," Diamondbacks manager Torey Lovullo said. "He makes pitches when he has to."
Greinke left a June 1 start against the Mets after four innings because of cramps in his neck. He then flipped places in the rotation with Merrill Kelly, who started Friday.
Three of Arizona's four shutouts this season have come on the road.
The Blue Jays lost for the 13th time in 16 games. Toronto has scored two runs or fewer five times in its past seven. They've scored two or fewer runs 26 times this season, second only to Miami (29).
Toronto went 0 for 6 with runners in scoring position and left seven men stranded.
"Things aren't happening right now," Blue Jays outfielder Lourdes Gurriel Jr. said.
"It's hard to throw shutout baseball," Lovullo said. "You're doing a lot right. One guy handed off to the next today to preserve that shutout."
Blue Jays right-hander Aaron Sanchez (3-7) allowed five runs and six hits in six innings. He's 0-6 with a 5.71 ERA in eight starts since his most recent win, April 27 against Oakland.
Ahmed opened the scoring with an RBI single in the second, and the Diamondbacks pulled away with a three-run third, when the first four batters reached safely. Jarrod Dyson, Tim Locastro and Ketel Marte all singled, with Marte's hit bringing home a run, before David Peralta lined an RBI double to right. Two batters later, Ahmed capped the rally with a sacrifice fly.
Avila made it 5-0 with a two-out homer in the sixth, his third.
Cron connected for the second straight game with a leadoff blast off Sam Gaviglio in the ninth.
"He smashed that ball today," Lovullo said.
Diamondbacks: OF Adam Jones (right hamstring) was held out of the starting lineup for a third straight game. Jones left Tuesday's game in the fourth inning.
Blue Jays: SS Freddy Galvis (left hamstring) was held out of the starting lineup. Drury made his fourth career start at shortstop.
Toronto's Vladimir Guerrero Jr. didn't run hard on his deep drive to center in the first and was held to a single when Dyson fielded the ball off the wall and threw it in quickly. "You should always go hard," Blue Jays manager Charlie Montoyo said.
Arizona's last shutout north of the border was Aug. 30, 2000, in Montreal, when Randy Johnson struck out 10 in a five-hitter against the Expos.
Diamondbacks: LHP Robbie Ray (4-3, 3.62) has lost two straight starts. He's 2-1 with a 2.63 ERA in his past five road outings.
Blue Jays: LHP Clayton Richard (0-1, 3.55) went 0-1 with a 6.60 ERA in three starts against Arizona while pitching for San Diego last season.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports
Puig tussles with Japanese sumo wrestler
Yasiel Puig partakes in an unconventional offseason training program by going head to head with a sumo wrestler.
Clayton Kershaw reflects on NLDS loss, 'shocked' by Astros allegations
A more upbeat Clayton Kershaw says the team's NLDS loss to the Nationals still stings, but he won't let it affect his preparation for next season.
Josh Donaldson surprises his mom with a new car
Josh Donaldson gifts his mom a new Maserati because she quit smoking.
Source: Cubs, reliever Brandon Morrow agree to minor league deal
The Cubs and Brandon Morrow have agreed to a minor league deal that will bring the oft-injured reliever who hasn't pitched since the first half of 2018 back to Chicago, a source told ESPN.
Injured Yoenis Cespedes agrees to pay cut in grievance settlement
Yoenis Cespedes' salary for 2019 was cut in half and his pay for 2020 significantly reduced as part of a settlement of a grievance between the injured outfielder and the New York Mets.
Veteran LHP Brett Anderson signs 1-year deal with Brewers
The Brewers have added veteran LHP Brett Anderson to their pitching staff. The 31-year-old left-hander was 13-9 with a 3.89 ERA in 31 starts with the Athletics last season.