ST. PETERSBURG, Fla.  — Wade Davis beat Zack Greinke in a scintillating pitchers’ duel, and Evan Longoria homered to lift the Tampa Bay Rays over the Kansas City Royals 1-0 on Sunday.

Davis (3-1) allowed three hits, three walks and struck out five in seven innings.

Greinke (0-3) gave up four hits in his 10th career complete game and first this season. Greinke, the 2009 AL Cy Young Award winner who has yielded just three runs over 22 innings in his last three starts, struck out six and hit a batter with a pitch.

Longoria put the Rays ahead in the fourth with his sixth homer. He had been hitless in 10 at-bats against Greinke before a first-inning single.

YANKEES 12, WHITE SOX 3: Mark Teixeira tied a career high with four hits and Robinson Cano had a three-run homer, backing another dominant performance by Phil Hughes (3-0) in New York’s win at home.

BLUE JAYS 9, ATHLETICS 3: Shaun Marcum won for the first time since 2008, supported by home runs from Fred Lewis, Alex Gonzalez and Aaron Hill in Toronto’s win at home.

RANGERS 3, MARINERS 1:
  David Murphy tied the game in the ninth inning, then singled again to score Julio Borbon in the 11th as Texas won at Seattle.

TIGERS 5, ANGELS 1:  Justin Verlander threw a three-hitter and Miguel Cabrera hit an RBI single in a four-run fifth inning, giving Detroit a win at home.

TWINS 8, INDIANS 3: Delmon Young and rookie Wilson Ramos had four hits each, Minnesota pounded out 20 as a team and got another strong start from Francisco Liriano in winning at Cleveland.

NATIONAL LEAGUE

MARLINS 9, NATIONALS 3: Hanley Ramirez drove in four runs with two homers, Josh Johnson overcame a slow start and Florida rallied to beat visiting Washington.

PADRES 8, BREWERS 0:
Jon Garland and two relievers combined on a three-hitter as San Diego shut out visiting Milwaukee for the third time in four games.

ROCKIES 4, GIANTS 1: Jhoulys Chacin pitched seven scoreless innings for his first career win, Melvin Mora hit a two-run single and Colorado avoided being swept in San Francisco for the second straight year.

BRAVES 7, ASTROS 1: Jason Heyward and Melky Cabrera each drove in three runs as Atlanta completed a sweep at home and handed Houston its sixth straight loss.

DODGERS 9, PIRATES 3:  Andre Ethier homered twice and drove in four runs, Blake DeWitt had his first four-hit game in the majors and James Loney added a pair of run-scoring hits to lead Los Angeles over visiting Pittsburgh.

CARDS 6, REDS 1:  Chris Carpenter pitched seven innings of two-hit ball and Albert Pujols broke it open with a three-run double in the seventh as St. Louis wrapped up a 6-1 homestand.

CUBS 10, DIAMONDBACKS 5:
Alfonso Soriano hit a pair of two-run homers, Marlon Byrd also hit a two-run shot and host Chicago won the last three games of the series after dropping the opener.

NOTES

ROYALS: Kansas City optioned third baseman Alex Gordon to Triple-A Omaha and recalled infielder Mike Aviles.

INDIANS: Closer Kerry Wood is going to Double-A Akron on an injury rehab assignment. He has not pitched this season due to a strained muscle in his upper right back.

TWINS: Catcher Joe Mauer may miss a few more games with a bruised left heel.