TORONTO — Cody Allen didn’t run even though he knew it was his walks that hurt the Indians on Wednesday night.
Ryan Goins singled home the winning run in the ninth inning and Toronto rallied from a four-run deficit to beat the Cleveland Indians 8-7 to win back-to-back series for the first time this season.
Ezequiel Carrera hit a one-out single in the ninth off Allen (0-1), the Indians’ closer, and Justin Smoak and Steve Pearce walked with two outs.
Goins then lined Allen’s first pitch into the right-field corner for his third hit of the game.
Allen walked just one batter in 10 April outings but has walked six in four May appearances.
“The walks are killing me, the deep counts are killing me, and tonight it cost us a chance to win a ball game,” Allen said.
“I thought he would try to get ahead of me,” Goins said. “I was looking for a heater and got one over the plate.”
Jose Bautista hit a three-run home run and Carrera added a tying, two-run drive for the Blue Jays, who have won seven of 11.
“We’ve been knocking on the door a lot and now we’re finally knocking that door down,” Goins said. “We’re going to put our heads down, get as many wins as we can and look up at the end.”
Toronto has seven come-from-behind wins this year.
“Things have kind of flipped in in the month of May,” Blue Jays manager John Gibbons said. “We’re starting to win some of those games we couldn’t win earlier in the year.”
Roberto Osuna (2-0) pitched a perfect ninth.
Jason Kipnis and Brandon Guyer each had three RBIs for the Indians, who led 7-3 in the third. Kipnis was 0-for- 9 in the series before his two-run, first-inning double off Francisco Liriano.
Bautista homered in the bottom half against Danny Salazar, who has allowed 11 earned runs in the first inning over seven starts.
Cleveland’s first seven batters reached in the third as the Indians chased Liriano, who allowed a season-worst seven runs in two-plus innings and failed to finish four innings for the second straight start.
Kipnis and Jose Ramirez had RBI singles, and Guyer greeted Dominic Leone with a three-run double.
Pearce hit a sacrifice fly in the bottom half and Goins chased Salazar with an RBI single. Salazar matched a season-worst by allowing five runs in 2 2/3 innings.
“I didn’t want to get to the bullpen too quick but it looked like it wasn’t going to get better,” Indians manager Terry Francona said.
Carrera tied the score at 7 in the fourth with a two-out homer off Dan Otero.
Blue Jays pitchers have given up an AL-high 65 doubles this season.
Cleveland lost a game decided after the seventh inning for the first time this season. They’re 6-1 in such games.
Taz Tulowitzki, the 3-year-old son of Blue Jays shortstop Troy Tulowitzki, drew cheers and laughs in the clubhouse following the game as he showed off his ability to mimic the batting stances of different Blue Jays players.
Indians: OF Abraham Almonte left with a sore right shoulder after flying out to end the top of the second. He was replaced by Michael Martinez. Francona said Almonte is day-to-day.
** C Yan Gomes (illness) was replaced by Roberto Perez in the bottom of the third. Francona said Gomes was suffering from “intestinal turmoil.”
Blue Jays: DH Kendrys Morales, who left Tuesday’s game with a sore left hamstring, was held out of the starting lineup. Morales had an MRI Wednesday and has been diagnosed with a Grade 1 strain. He is day to day.
** Tulowitzki (right hamstring) hopes to begin a rehab assignment at Class A Dunedin this weekend and could rejoin the Blue Jays when they begin a series at Atlanta next Wednesday.
Indians: Cleveland is off today before starting a three-game series against visiting Minnesota. RHP Josh Tomlin (2-3, 7.13) will have an extra day of rest before facing the Twins. Tomlin is 1-2 with a 9.95 ERA in three home starts.
Blue Jays: RHP Marco Estrada (1-2, 3.14) starts the opener of a four-game series tonight against Seattle. Estrada matched a season worst by allowing five runs at Tampa Bay on May 6.