TORONTO -- Josh Donaldson hit a walkoff three-run homer to give the Toronto Blue Jays a wild 10-9 victory over the Chicago White Sox on Tuesday night at Rogers Centre.

Josh Thole led off the ninth inning with a single off Chicago closer David Robertson (3-1) and moved to third on a Jose Reyes double. Donaldson followed with his second homer of the game to give the Blue Jays their third straight win.

Donaldson had four of Toronto's 13 hits and scored five times. Jose Bautista had three doubles and drove in five runs as the Blue Jays improved to 22-26.

The White Sox (19-24) had scored three runs off reliever Liam Hendriks in the eighth inning of the back-and-forth contest on a lovely spring evening. Chicago has dropped four games in a row.

Donaldson opened the scoring in the first inning with a solo homer off Chicago left-hander John Danks.

The White Sox answered with a pair of runs in the second inning after hitting four singles off Toronto knuckleballer R.A. Dickey. Gordon Beckham drove in Ramirez and Carlos Sanchez hit a sacrifice fly that brought home J.B. Shuck.

Donaldson, who entered the game with a .444 average against southpaws, continued his torrid hitting pace in the third with a double that moved Thole to third base. Bautista drove them both in with a ground-rule double that gave Toronto a 3-2 lead.

Chicago regained the lead in the fifth inning on a three-run homer by Jose Abreu, who belted a 3-1 pitch for his eighth homer of the season. Adam Eaton had led off the inning with a walk and Melky Cabrera reached on a bloop single.

The bottom of Toronto's order contributed in the bottom half with back-to-back doubles by Steve Tolleson and Thole halving the Chicago lead. Donaldson drew a one-out walk and Bautista scored both runners by slicing a double into the right-field corner, restoring Toronto's lead at 6-5.

Reliever Ryan Tepera faced two batters in the top of the sixth and they both reached base. Tyler Flowers doubled and Sanchez was hit by a pitch.

Aaron Loup came on and got Eaton to hit a grounder that forced Sanchez out at second but left runners at first and third base. Toronto nearly turned a double play on a Cabrera grounder but the former Blue Jay barely beat the throw to first as Flowers scored to tie the game.

The Blue Jays went ahead again in the seventh inning when a Bautista double scored Donaldson from first base. Hendriks couldn't hold the lead though, giving up a Sanchez double and RBI single to Eaton that tied the game.

Hendriks was pulled with two outs and Steve Delabar (1-0) got Shuck to ground out.

Announced attendance was 17,276 and the game took three hours 12 minutes to play. The teams will close out the three-game series with a matinee on Wednesday.

Notes: Dickey allowed five earned runs, eight hits and two walks. Danks also worked five innings and gave up seven hits, six earned runs and a walk. Both starters had five strikeouts. ... Bautista, who served as the designated hitter, missed the last two games after receiving a cortisone shot over the weekend. He hopes his sore right shoulder will be ready in time for a return to right field early next week. ... Toronto catcher Dioner Navarro (hamstring strain) has been sent to triple-A Buffalo to begin a rehab assignment.