TORONTO -- Rafael Devers hit a two-run home run as the Boston Red Sox defeated the Toronto Blue Jays 10-5 on Wednesday.

Xander Bogaerts drove in three runs for the Red Sox (81-34), who compiled 12 hits in the game.

Brian Johnson (3-3) collected the win for Boston. He pitched seven innings and allowed five runs, six hits, two walks and struck out six batters.

Teoscar Hernandez and Randal Grichuk had home runs for the Blue Jays (51-62).

Mike Hauschild (1-1) failed to get out the third inning in his first major league start. He gave up three hits, four earned runs and three walks in two and one-third innings of work.

Boston opened the scoring in the third inning. With the bases loaded and nobody out, Andrew Benintendi hit a sacrifice fly to centre field. Devers would score for a 1-0 lead. Mitch Moreland followed with a two-run double to give the Red Sox a 3-0 lead. J.D. Martinez hit a single and that ended Hauschild's start.

Bogaerts hit a sacrifice fly off Toronto reliever Luis Santos to cap a four-run inning.

In the fifth, Bogaerts recorded an RBI walk to give Boston a 5-0 lead.

Devers added to Boston's hit parade with a two-run home run in the sixth inning to make it 7-0.

Toronto replied later in the inning. Hernandez hit his 17th homer of the season to cut Boston's lead to 7-2.

In the seventh, Bogaerts hit an RBI double to give Boston an 8-2 lead. Toronto responded later in the inning with a three-run homer by Grichuk to cut the Red Sox advantage to 8-5.

In the eight, Martinez hit an RBI single to give Boston a 9-5 lead. With the bases loaded, Joe Biagini threw a wild pitch that allowed Benintendi to score.

Notes: Paid attendance was 36,798. ... Justin Smoak hit his career-high 30th double of the season in the fourth inning. The hit also extended his hitting streak to 12 games. It is the longest hitting streak by any Blue Jay this season.