Pena made it 5-1 with a three-run homer off Brett Cecil (11-7) in the third.
Davis (11-9) allowed two runs and six hits in 7 2/3 innings. The righthander has the longest winning streak by a rookie in franchise history.
Chad Qualls replaced Davis with two on and two outs in the eighth and struck out Jose Bautista, who leads the majors with 42 home runs.
Aaron Hill hit his 20th homer of the season for the Blue Jays.
Cecil, who had beaten Tampa Bay in three other starts this season, gave up five runs — two earned — and five hits over seven innings.
Yankees 11, Athletics 5 — Robinson Cano, Mark Teixeira, and host New York tagged Trevor Cahill in a rout over Oakland.
Marcus Thames hit a three-run shot for his sixth homer in five starts, and the Yankees got back-to-back long balls from Teixeira and Cano to move a season-best 31 games over .500 (81-50). Nick Swisher added three hits and three RBIs, including a two-run double in the first that helped New York erase a 3-0 deficit.
Dodgers 3, Phillies 0 — Hiroki Kuroda took a no-hitter into the eighth inning and Rod Barajas homered in his home debut for Los Angeles.
Kuroda walked Jayson Werth in the eighth before Raul Ibanez reached on a fielder’s choice ground out. Shane Victorino, hitless in seven career at-bats against Kuroda, hit a clean, line-drive single to right field on Kuroda’s 97th pitch of the game to break up the no-hitter.
Reds 5, Brewers 4 — Jay Bruce singled off Trevor Hoffman with two outs in the 10th inning, rallying host Cincinnati to extend its NL Central lead to a season-high six games.
Hoffman (2-7) walked Ryan Hanigan to open the 10th. Pinch runner Brandon Phillips stopped at second on Chris Heisey’s two-out single. Bruce, who led off the Reds’ first with a homer, then singled through the hole at shortstop to end it.
Astros 3, Cardinals 0 — J.A. Happ threw a two-hitter and rookie Brett Wallace had a career-high three hits and drove in a run to help host Houston beat struggling St. Louis, which has dropped six of seven.
White Sox 10, Indians 6 — Brent Lillibridge atoned for a costly error that allowed the Indians to tie the game in the ninth inning by hitting a two-out homer in the 11th as the White Sox beat Cleveland, hours after Chicago officially claimed Manny Ramirez off waivers.
Rockies 2, Giants 1 — Carlos Gonzalez hit a tying triple with no outs in the ninth and scored on second baseman Freddy Sanchez’s second throwing error of the game as Colorado rallied to beat host San Francisco.
Nationals 9, Marlins 3 — In Miami, Adam Dunn and Ryan Zimmerman each hit three-run homers to power Washington over Florida in a game that started nearly three hours late because of rain.
Braves 9, Mets 3 — Jason Heyward homered and drove in four runs, Martin Prado drove in three runs, and NL East-leading Atlanta beat visiting New York.
Rangers 3, Royals 0 — C.J. Wilson allowed two hits over 7 2/3 innings to lead Texas over host Kansas City.
Cubs 14, Pirates 2 — Carlos Zambrano allowed one unearned run in 5 1/3 innings and hit a two-run homer to lead host Chicago.
Angels 5, Mariners 3 — Bobby Abreu, Hideki Matsui, and Peter Bourjos all homered in the sixth inning as Los Angeles beat host Seattle.
Diamondbacks 7, Padres 2 — Mark Reynolds hit a pair of two-run homers and drove in five runs to lead host Arizona.