TORONTO -- David Ortiz and Jackie Bradley Jr. both hit home runs as the Boston Red Sox held on for a 4-3 win over the Toronto Blue Jays on Tuesday night.

Mookie Betts had a pair of hits and also reached base on an error for Boston (36-43), which has won three in a row. Eduardo Rodrgiuez (4-2) struck out four, giving up an earned run over six innings. Tommy Layne and Alexi Ogando pitched in relief. Koji Uehara earned his 18th save of the season in the ninth.

Jose Reyes had two hits -- including a two-run homer -- as Toronto (41-38) pulled to within a run of the Red Sox in the seventh inning. The Blue Jays have lost back-to-back games against Boston.

Marco Estrada (5-4) had a short start, giving up four runs -- two unearned -- on three hits and four walks in 2 1/3 innings of work. Relievers Todd Redmond, Bo Schultz and Steve Delabar combined to shut out the Red Sox the rest of the way.

Estrada struggled with control in the first, giving up four walks after Mookie Betts reached first on an error by second baseman Devon Travis to lead off the inning. Walks to Mike Napoli and Alejandro De Aza cashed in two runs for a 2-0 Boston lead.

Estrada's problems continued, giving up a home run to Bradley to start the second inning. It was Bradley's first home run in 248 at-bats. The Blue Jays' pitcher then retired the next three hitters to keep the Red Sox's lead to 3-0.

Ortiz continued Estrada's troubles with a home run to deep right to lead off the third inning.

Redmond came in to relieve Estrada two hitters later after Pablo Sandoval popped out and Napoli hit a single to centre field. Redmond got Toronto out of the inning without allowing any more runs.

Chris Colabello got the Blue Jays on the board in the fourth, driving in Edwin Encarnacion on a one-out hit to centre field to make it 4-1. Encarnacion scored from second and Colabello made it to second on the throw from the outfield. Although Colabello advanced to third on a ground out by Danny Valencia, Toronto couldn't add any more runs.

Reyes pulled the Blue Jays to within a run in the seventh inning, putting a two-out pitch over the left-field wall to bring home Kevin Pillar.