DETROIT — Buck Farmer outlasted Alex Meyer in an unexpected pitchers’ duel, and Justin Upton hit a three-run homer in the eighth inning to help the Detroit Tigers beat the Los Angeles Angels 4-0 on Wednesday night.

Farmer (2-0) allowed three hits in 62/3 innings, and Detroit pushed across an unearned run in the third. Upton gave the Tigers some insurance with a drive to left off reliever Yusmeiro Petit.

Detroit has won 5 of 6.

Meyer (2-3) permitted three hits in six innings. He walked four and struck out nine, but his wildness proved costly in the third. A hit batter, a walk and an error loaded the bases with nobody out, and the game’s first run came home when Victor Martinez bounced into a double play.

Farmer pitched 61/3 scoreless innings May 27 in his first start of the season, striking out 11 against the Chicago White Sox. He was recalled from Triple-A Toledo before Wednesday’s game.

BLUE JAY 7, ATHLETICS 4: Josh Donaldson hit a tie-breaking two-run homer in the 10th inning against his former club, Justin Smoak also homered in the inning for his second long ball of the day, and Toronto avoided a sweep at Oakland.

Frankie Montas (1-1) plunked Kevin Pillar to start the inning and bring up Donaldson, who clobbered a 1-2 fastball over the wall in left-center.

RAYS 3, WHITE SOX 1: Jacob Faria took a three-hitter into the seventh inning of his major league debut for host Tampa Bay, which beat Chicago.

The 23-year-old right-hander walked two and struck out five in 61/3 innings, settling down after falling behind three batters into the game to help Tampa Bay end a season-high four-game losing streak before a crowd of just 9,313.

NATIONAL LEAGUE

DODGERS 2, NATIONALS 1: Clayton Kershaw outdueled Stephen Strasburg with seven sharp innings and Yasmani Grandal hit a tiebreaking RBI double, helping host Los Angeles edge Washington.

Kershaw (8-2) allowed three hits and struck out nine in his first win since May 17. Pedro Baez got two outs before Kenley Jansen finished for his 10th save.

Strasburg (7-2) struck out eight in six innings in his first loss since April 29. The ace right-hander was 5-0 with a 2.75 ERA in his previous six starts.

REDS 6, CARDINALS 4: St. Louis kept Scooter Gennett in check a day after his four-homer game, but Patrick Kivlehan had a pinch three-run shot that sparked Cincinnati at home, extending the Cardinals’ longest losing streak in four years.

The Cardinals have dropped six in a row.

BRAVES 14, PHILLIES 1: Mike Foltynewicz allowed only four hits in seven scoreless innings, Nick Markakis drove in five runs and Atlanta won big at home, ending Philadelphia’s four-game winning streak.

INTERLEAGUE

ROCKIES 8, INDIANS 3: Kyle Freeland pitched 61/3 effective innings, Nolan Arenado drove in three runs and Colorado earned its fourth straight win, at Cleveland.