Santana (11-9) left the game with a strained pectoral muscle. Prior to his departure, the left-hander had given up the one run on three hits with a walk and three strikeouts to break a three-start losing streak.
Tim Hudson (15-6), who was named the National League Pitcher of the Month on Thursday, had a six-game winning streak snapped as he was charged with four runs -- three earned -- on eight hits with a walk and four strikeouts over seven innings.
The loss shortened Atlanta's lead in the NL East to 2 1/2 games over Philadelphia, which is currently playing Colorado.
The Mets tagged Hudson for a pair of runs in the first inning. With two outs, Carlos Beltran hit a triple to center, and he came home when Omar Infante's throw to third went into the visitor's dugout. The next three batters then reached base to set the stage for Arias, who beat out an infield single to score Chris Carter for a 2-0 lead.
The Braves got one back in the second when McCann led off the frame with a blast over the right field wall, his 20th home run of the season.
Wright's homer in the sixth extended New York's lead to 3-1.
New York tacked on another run in the seventh as Luis Castillo singled with one out, Lucas Duda reached base on an Infante error and Beltran followed with a fielder's choice to plate Castillo for a 4-1 lead.
With Bobby Parnell on the mound in the eighth, Melky Cabrera led off with a single to center for the Braves. Parnell got the next two batters out, but Jason Heyward worked a walk and a passed ball moved both runners into scoring position. Prado then hit a high chopper that Wright made a barehanded grab on, but he was unable to make a play and Cabrera scored to make it a two-run game. Derrek Lee, though, flied out to end the inning.
Hisanori Takahashi worked around a leadoff single by McCann in the ninth to pick up his third save of the season.
McCann eclipsed the 20-home run plateau for the third straight season and fourth time in his six-year career. His career high was 24 in 2006...Atlanta has taken eight of the 15 games with the Mets this season. These teams have one more series this season, which will take place in New York from September 17-19...Atlanta plays a three-game set in Florida starting Friday...The Mets continue their 10-game road trip in Chicago on Friday.