Alex Rodriguez hit his 640th career homer, and Robinson Cano, Derek Jeter and Eric Chavez all hit long balls against Tommy Hanson (8-4). The Yankees managed little else in their second straight loss after a 10-game winning streak.
The Yankees got within a run at 6-5 on Curtis Granderson's RBI single in the seventh but Rodriguez ended the inning with a double-play grounder.
In the eighth, Freeman hit an RBI single and Heyward a two-run shot off Boone Logan to help Atlanta pull away for its third win in 10 games and second straight against New York. The Yankees swept the Braves in Atlanta last week.
BREWERS 8, BLUE JAYS 3
Gallardo (6-5) went 6 2-3 innings, giving up three runs and seven hits with two walks and seven strikeouts. Gallardo's outing provided some much-needed rest for an overworked bullpen.
Emergency starter Joel Carreno (0-2) gave up a pair of two-run homers to Martin Maldonado and Carlos Gomez, and a solo shot to Corey Hart in a five-run second. Carreno gave up five runs on five hits in three innings.
Edwin Encarnacion hit his 20th home run of the season for the Blue Jays.
ROYALS 2, ASTROS 1
Alex Gordon tripled and scored for the Royals, who won the last two games of the three-game set. Thirteen of Kansas City's last 14 games have been decided by two or fewer runs.
Chen (6-6) struck out six in 5 2-3 innings and was charged with one run and five hits.
Houston starter Jordan Lyles (1-4) gave up two runs and three hits in seven innings. The Astros went 1 for 12 with runners in scoring position.
Jonathan Broxton earned his 18th save in 21 chances.
DIAMONDBACKS 14, MARINERS 10
Miguel Montero hit a two-run homer, Aaron Hill connected for the third straight game, and Jason Kubel and John McDonald each had a solo shot to match the team record set twice before. Montero had four RBIs.
Arizona roughed up Jason Vargas (7-7) early in the game and batted around in the fifth inning on its way to 16 hits.
The Mariners scored five runs against Trevor Cahill (6-5) in the third inning.
TWINS 2, PIRATES 1
PITTSBURGH -- Josh Willingham hit a go-ahead homer in the eighth inning for Minnesota.
Willingham hit a fastball from Jason Grilli (1-2) over the wall in left for his 14th homer, breaking a tie as the Twins won for just the second time in their last seven games. Glen Perkins pitched the ninth for his first save in place of injured closer Matt Capps.
Jared Burton (1-0) picked up the win in relief of starter Francisco Liriano, who pitched arguably his best game of the season, giving up one run and four hits in 6 2-3 innings. The left-hander struck out six and walked two.
Pittsburgh's Erik Bedard overcame a shaky start to surrender one run over six innings but was long gone by the time Willingham notched the first homer given up by Grilli since April 17.
RANGERS 4, PADRES 2
SAN DIEGO -- Yu Darvish allowed five hits over eight innings and got his first major league hit to help Texas to its sixth straight win.
Darvish (9-4), who struck out eight and walked three, leads all big league rookies with nine victories.
Yorvit Torrealba drew a bases-loaded walk with two outs in the sixth to bring in Josh Hamilton with the go-ahead run. The Rangers swept the three-game series and improved to 12-3 in interleague play, the best in the majors this year.
The Padres (24-46) have lost five of six and have the worst record in the majors.
Joe Nathan pitched the ninth for his 15th save in 16 chances.
Padres starter Anthony Bass left with inflammation in his right shoulder after allowing one run and three hits in five innings.
INDIANS 8, REDS 1
CLEVELAND -- Justin Masterson pitched a three-hitter for his first complete game this season and AL Central-leading Cleveland finished a three-game sweep of Cincinnati.
Masterson (4-6) took a shutout into the eighth before the Reds ended the right-hander's streak of consecutive scoreless innings at 18. He did not walk a batter and struck out nine, including the side in the ninth, for his fourth career complete game. Cincinnati's run was unearned.
After losing three straight in Cincinnati last week, the Indians returned the favor on the Reds, who entered the series on a six-game winning streak.
CARDINALS 3, TIGERS 1
DETROIT -- Jake Westbrook pitched his first complete game in over two years, giving up only an unearned run in the Cardinals' victory over the Tigers.
Westbrook (6-6) allowed five hits, struck out five and walked one. It was his 14th career complete game, but his first since May 16, 2010, when he was pitching for Cleveland at Baltimore.
The Cardinals took the lead in the sixth when Yadier Molina hit into a bases-loaded double play, breaking a 1-all tie. The Cardinals added an eighth-inning run on an error by Detroit shortstop Jhonny Peralta.
Rick Porcello (4-5) allowed two runs and 10 hits in seven innings.
NATIONALS 3, RAYS 2
WASHINGTON -- Stephen Strasburg struck out 10 to win a fast-ballers' duel with newbie Chris Archer, Joel Peralta managed to pitch without having his glove inspected, and the Nationals snapped a four-game losing streak with a win over the Rays.
Strasburg (9-1) won his sixth consecutive start by allowing five hits and two runs over seven innings while throwing 111 pitches, the second most in his career, while Tyler Clippard picked up his 10th save. The Nationals needed all the pitching they could get -- because the lineup didn't produce a hit after the first inning.
Strasburg was just a bit better than Archer (0-1), who faced the minimum over his final five innings after surviving a rough start in his major league debut.
PHILLIES 7, ROCKIES 6
Carlos Ruiz was intentionally walked and Shane Victorino hustled out an infield single. Polanco hit a grounder to shortstop Marco Scutaro whose throw to first was a bit high, but Helton caught it and had time to beat a hustling Polanco. He stretched for first and missed. Helton, a multiple Gold Glove Award winner, was charged with his second error of the season.
RED SOX 15, MARLINS 5
BOSTON -- David Ortiz hit a grand slam for one of the Red Sox's four homers as they set a season high in runs, beating the Marlins.
With a game-time temperature of 95 degrees, the Red Sox pounded out 16 hits and won their fourth straight game and sixth in their last seven. They passed Toronto to move out of last place in the AL East at 35-33.
The Marlins lost for the 12th time in 14 games despite scoring four runs and nine hits in six innings against Felix Doubront (8-3).
Florida's Ricky Nolasco (6-6) gave up nine runs and nine hits in 3 1-3 innings.
METS 4, ORIOLES 3
Dillon Gee extended the Mets' shutout streak to 29 innings before Baltimore broke through late, and New York held off the Orioles for a three-game sweep.
The Mets nearly shut out the Orioles for the third straight day. Wilson Betemit hit a two-run homer in the eighth and Steve Pearce drew a bases-loaded walk in the ninth before Brian Roberts grounded out to end it.
Gee (5-5) had been nicked only by pitcher Brian Matusz's single -- his first big league hit -- until Nick Johnson opened the eighth with an infield single and Betemit followed with a second-deck home run.
Frank Francisco escaped a jam in the ninth for his 17th save in 20 chances, completing the combined six-hitter.
Matusz (5-8) struggled again in interleague play, dropping to 0-7 in AL vs. NL matchups.
WHITE SOX 7, CUBS 0
Floyd (5-7) put aside his recent problems. Beckham matched a career-high by driving in four runs, and the White Sox got an easy win after dropping six of seven.
They finally showed some pop after managing just 19 runs over the previous seven games, including a 2-1 loss in which Jake Peavy went the distance the previous night.
Adam Dunn and Paul Konerko each delivered RBI singles as the White Sox grabbed a 2-0 lead in the third. Beckham then chased Randy Wells (1-2) with a run-scoring single in the fourth and broke it open with a three-run drive off Scott Maine in the sixth, making it 6-0.
ATHLETICS 4, DODGERS 1
OAKLAND, Calif. -- Tommy Milone pitched a three-hitter for his first career complete game and Yoenis Cespedes had two hits and an RBI in his return to the Oakland lineup as the Athletics won for the seventh time in eight games.
Cespedes scored Oakland's first run after a double and added an RBI single in the fifth to back another strong start at home by Milone (7-5) as the A's took their second straight from the first-place Dodgers.
Milone walked one, struck out two and retired 22 of the final 24 hitters he faced. Milone threw 112 pitches in Oakland's first complete game of the season.
He snapped a four-start winless streak and improved to 5-1 at the Coliseum with a major league-leading 0.99 ERA at home.
Nathan Eovaldi (0-3) allowed three runs and seven hits in six innings.
ANGELS 6, GIANTS 0
Alberto Callaspo homered against Vogelsong and teammates Kendrys Morales and Mark Trumbo greeted former Angels prospect Shane Loux with back-to back home runs during a three-run eighth, helping the Halos take the rubber game of the interleague series -- the first visit by the Giants to Anaheim since losing Game 7 of the 2002 World Series.
Weaver (7-1) threw 78 pitches in his first start since May 28 at Angel Stadium against the Yankees, when his back went out on him after just 12 pitches.
Vogelsong (6-3) gave up three runs and seven hits over seven innings, walked none and struck out six in his first regular-season start against the Angels.
Copyright 2012 by The Associated Press
This story is from ESPN.com's automated news wire. Wire index
MORE MLB HEADLINES
- Shoulder strain sends Cardinals' Garcia to DL
- Cubs set to activate Garza for Tuesday start
- Braves' O'Flaherty has torn ligament in elbow
- Ortiz has 2 HRs, 6 RBIs as Red Sox cruise