TORONTO - Ryan Goins singled with the bases loaded to score Ezequiel Carrera and give the Toronto Blue Jays an 8-7 walkoff victory over the Cleveland Indians on Wednesday night at Rogers Centre.

Carrera started the rally with a one-out single off Cody Allen (0-1), who issued back-to-back walks to Justin Smoak and Steve Pearce.

Goins ripped the first pitch he saw down the right-field line to allow Carrera to trot home from third base. Roberto Osuna (2-0) worked one inning of relief for the win.

Jose Bautista hit a three-run homer and Carrera added a two-run shot for the Blue Jays (13-21), who came back from a four-run deficit to win the rubber game of the three-game set.

It's the first time this season that Toronto has won consecutive series. The loss left the Indians (18-15) with a 4-5 record on their nine-game road trip.

Cleveland opened the scoring in the first inning when Jason Kipnis touched up Toronto starter Francisco Liriano for a two-run double.

Bautista answered in the bottom half with a blast just inside the left-field pole. Kevin Pillar walked and Carrera singled before the Toronto slugger turned on a 3-2 pitch from Danny Salazar for his third homer of the season.

Kipnis drove in another run in the third inning and Liriano followed with a walk to Edwin Encarnacion to load the bases. Jose Ramirez made it 4-3 with an RBI single that ended Liriano's night.

Dominic Leone came on with the bases loaded and nobody out and gave up a bases-clearing double to Brandon Guyer, who was thrown out trying to stretch it into a triple.

The runs were charged to Liriano, who allowed five hits, seven earned runs and three walks. His earned-run average jumped from 4.44 to 6.35.

The Blue Jays got a couple runs back in the bottom half. Pearce drove in Bautista with a sacrifice fly and Goins cashed in Smoak with a single.

Dan Otero came on for Salazar and retired the side. Salazar allowed five hits, five earned runs and two walks while striking out four.

Darwin Barney led off the fourth with a double and scored when Carrera hit his third homer of the year to tie the game.

After 14 runs were scored over the first four frames, the bullpens went to work.

Indians pinch-hitter Lonnie Chisenhall nearly got something going in the eighth but Pearce made a nice running catch on the warning track. The Blue Jays threatened in the bottom half but Luke Maile hit into an inning-ending double play.

Announced attendance was 35,115 and the game took three hours 31 minutes to play.

Notes: Blue Jays slugger Kendrys Morales sat out with a left hamstring strain. He'll be re-evaluated later in the week. ... Toronto shortstop Troy Tulowitzki (hamstring) is tentatively tabbed to play a rehab game in Florida on Saturday. He could return to the team on Wednesday in Atlanta. ... Michael Martinez replaced Cleveland centre-fielder Abraham Almonte (right shoulder) in the second inning. Roberto Perez came on for catcher Yan Gomes (illness) in the third. ... Blue Jays pitching coach Pete Walker was ejected in the third inning after visiting Liriano. Walker appeared to have words with home plate umpire Vic Carapazza as he walked off the mound to get the heave-ho.