TORONTO (AP) Andrew Cashner is putting together an impressive season for a last-place team.
Stevie Wilkerson hit a solo home run and Jonathan Villar scored three times. The Orioles used a five-run fourth inning to win their third straight, improving to 4-1 north of the border this season.
Cashner (9-3) allowed three hits and one run, walked none and struck out four. He's 2-0 with a 0.69 ERA in two starts against Toronto this season, having pitched six shutout innings to beat the Blue Jays on April 2.
''He's got nine wins on a team that's way under .500,'' manager Brandon Hyde said. ''It's really impressive to be able to keep us in games the way he has.''
Even with their winning streak, the Orioles are 27-61, the worst record in the majors. Baltimore is 31 games out of first place in the AL East.
Cashner got July off to a winning start after going 2-1 with a 1.44 ERA over 25 innings in four June starts. He has won five of six decisions dating to May 25.
Jimmy Yacabonis struck out the side on 13 pitches in the eighth, and Shawn Armstrong finished for Baltimore.
Cashner gave Orioles center fielder Keon Broxton a tip of his cap after Broxton made a leaping catch at the wall to retire Freddy Galvis for the first out of the fourth.
Broxton ended the game with another great play, hauling in a deep drive by Cavan Biggio to strand a runner at first.
''It doesn't surprise me because he's a premier defensive center fielder and can really go get it,'' Hyde said. ''He's got incredible range and confidence out there.''
Cashner retired his first 10 batters before Vladimir Guerrero Jr. hit a groundball single up the middle in the fourth. Guerrero advanced on a wild pitch and scored on a two-out single by Biggio, but that was it for the Blue Jays, who scored just once for the second straight game after scoring at least six runs in eight straight.
''You have to give credit to Cashner, he was good today,'' Blue Jays manager Charlie Montoyo said. ''We had been swinging the bats good, but the last two days they have pitched well.''
Toronto left-hander Clayton Richard (1-5) allowed six runs, three earned, and seven hits in six innings.
Richard beat Kansas City on Monday for his first win of the season but didn't get any help from his defense in his bid for consecutive victories. Fielding errors by first baseman Justin Smoak and third baseman Guerrero in the fourth led to three unearned runs for the Orioles.
Trey Mancini reached on Smoak's error to begin the inning, and Nunez followed with a homer to left, his 20th.
Nunez is the third player in Orioles history to hit 20 homers before the All-Star break before the age of 25. The others were Boog Powell (21 in 1964) and Manny Machado (21 in 2018).
''It's impressive,'' Cashner said. ''Twenty before the break, I've only seen a few players do that.''
Orioles: RHP Mychael Givens was not available for the second straight day but is expected to be ready Sunday. Givens made a diving play to tag Tampa Bay's Kevin Kiermaier out at home plate on Wednesday, and is still sore.
Blue Jays: OF Lourdes Gurriel Jr. (left wrist) returned after sitting out Friday. Gurriel jammed his wrist making a diving catch in left field Thursday. ... OF Randal Grichuk (back) sat for the second straight day. ... Guerrero Jr. left after seven innings because of an illness.
Blue Jays RHP Marcus Stroman (strained left pectoral) will not pitch in next week's All-Star Game. Stroman left last Saturday's start against Kansas City after four innings and was scratched from his scheduled start Thursday. He was replaced on the AL roster by New York Yankees RHP Masahiro Tanaka.
Orioles: Baltimore recalled RHP David Hess from Triple-A Norfolk. Hess replaces RHP Josh Lucas, who was optioned to Norfolk following Friday's game and designated for assignment Saturday. ... The Orioles filled Lucas' spot on the 40-man roster by claiming RHP Aaron Brooks on waivers from Oakland.
Orioles: RHP Asher Wojciechowski (0-1, 6.75) will start Sunday in place of scheduled starter RHP Gabriel Ynoa. Wojciechowski took the loss in his Baltimore debut, July 2 at Tampa Bay, allowing four runs in 5 1/3 innings.
Blue Jays: RHP Trent Thornton (2-6, 5.18) allowed a career-worst seven runs over 2 2/3 innings against Boston in his previous start. Thornton has won once in his past nine outings.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports
Copyright 2019 by STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.