PHOENIX (AP) — Arizona's Cody Ross hit a sacrifice fly to drive in the winning run in the bottom of the 10th inning, lifting the Diamondbacks to a 3-2 win over the Colorado Rockies on Saturday, closing the gap between the National League West's top teams back to one game.

A.J. Pollock led off the inning with a single, stole second and moved to third on a throwing error. After a walk, Ross hit his fly ball more than 400 feet to center field, giving the Rockies no chance to throw out the speedy Pollock.

Arizona has already won six extra-inning games, with no losses, this season.

Elsewhere, Baltimore hit back-to-back homers in the fourth inning to set up victory over Oakland, Pittsburgh rallied to beat St. Louis, and a pair of two-run homers powered Detroit over Atlanta.

Washington's Bryce Harper homered and singled in the win over Cincinnati, Minnesota halted a three-game slide by downing Texas, Boston's David Ortiz kept up his rich form against Houston and Travis Hafner had a rare triple as the New York Yankees beat Toronto.

Baltimore's Nick Markakis and Adam Jones hit the back-to-back homers that helped the Orioles to a 7-3 win over Oakland.

Chris Tillman (1-1) notched seven strikeouts in his six innings for his first win of the season. He also had a rare at-bat for an American League pitcher, after an injury to Taylor Teagarden forced Baltimore to abandon their designated hitter. He struck out.

The Orioles are 3-0 on the start of an 11-game road trip and in position for its first four-game sweep in Oakland since 1987.

The A's have lost eight of nine.

Pittsburgh's Russell Martin hit a two-run homer to highlight a four-run seventh inning that lifted the Pirates to a 5-3 win over St. Louis.

The Pirates had three consecutive hits against Joe Kelly (0-1) to lead off the seventh and were aided by a hit by pitch and a walk to score four runs.

Detroit's Omar Infante and Jhonny Peralta both hit two-run homers as the Tigers defeated Atlanta 7-4.

Infante's homer off Kris Medlen (1-3) broke a 3-3 tie in the fourth. Detroit starter Rick Porcello (1-2) allowed three runs in 6 1-3 innings — a contrast to his nightmarish start against the Angels last weekend when he gave up nine runs in the first inning.

Washington starter Dan Haren set aside his previous struggles to make his best start of the young season as the Nationals beat the Cincinnati Reds 6-3.

Haren (2-3) allowed two runs over six innings, lowering his ERA from 7.36 to 6.29.

The Nationals will go for a sweep of the four-game series on Sunday.

Minnesota's Pedro Hernandez pitched five shutout innings for his first major league win, guiding the Twins to a 7-2 win over Texas.

Hernandez (1-0) was making just his second start for the Twins. After getting into a third-inning jam, he retired eight of the final nine hitters he faced.

Josh Willingham homered for Minnesota.

The Rangers came into the game having won seven of their previous eight.

Boston slugger David Ortiz continued his extraordinary return from a long-term injury by having two hits and three RBIs as the Red Sox overcame Houston 8-4.

'Big Papi' is hitting .519 (14 of 27) with nine RBIs since getting back into the lineup last Saturday, having missed 71 of the final 72 games last season and all of spring training with a heel injury.

Boston starter Felix Doubront overcame a wild first inning to pitch into the seventh for the Red Sox, who have won 17 games so far this month and can match the club's April record if they complete the four-game sweep on Sunday.

New York's Travis Hafner hit a three-run homer, then the big man lumbered around the bases for a go-ahead triple in the seventh inning as the Yankees beat Toronto 5-4.

New York starter C.C. Sabathia (4-2) allowed three earned runs in eight innings with no walks.

The Blue Jays dropped to 1-5 on their seven-game road trip.

Milwaukee's Carlos Gomez and Martin Maldonado each hit two-run homers to propel the Brewers to a 6-4 victory over the Los Angeles Dodgers.

Philadelphia's Domonic Brown and John Mayberry Jr. hit consecutive home runs to break open a close game as the Phillies beat the New York Mets 9-4, sending Jonathan Pettibone to his first major league win.

San Diego's Yonder Alonso scored the winning run in the 12th inning when San Francisco second baseman Marco Scutaro couldn't come up with Nick Hundley's grounder, lifting the Padres to an 8-7 victory.

Tampa Bay's Matt Moore became the first Rays pitcher to win five games in April and they defeated the White Sox 10-4.

Kansas City's Ervin Santana pitched seven scoreless innings and Salvador Perez hit a two-run homer as the Royals held on to beat Cleveland 3-2.

Seattle's Kendrys Morales snapped a 2-2 tie with a pinch-hit RBI single in the seventh inning, as the Mariners edged the Los Angeles Angels 3-2.

Chicago's David DeJesus hit a tiebreaking single in the seventh inning to help lift the Cubs to a 3-2 win over the struggling Marlins.