ATLANTA (AP) -- Dontrelle Willis knows something about rookie pitchers on a roll, and he sees one in his Florida clubhouse.
Sanchez (4-0) won his third straight start and gave Braves rookie Chuck James his first loss.
Sanchez allowed one run and seven hits in seven innings. He struck out three and didn't walk a batter.
Sanchez's streak of 23 scoreless innings was snapped when Marcus Giles singled in a run in the sixth inning. The right-hander's streak broke the team rookie record of 19 innings by Willis in June 2003.
"That's great," Willis said. "That's the things he's supposed to do. He's got great mound presence. He's going to go a long way."
In his five starts, Sanchez has given up five earned runs, including four at Washington on July 6, for a 1.42 ERA. He also allowed seven runs in a July 1 relief appearance against Boston.
Since the two appearances in the first week of the month, Sanchez has given up one run in his past three starts.
"Now I feel more comfortable because I'm here and I know I have the opportunity to stay here," Sanchez said.
Sanchez won his major league debut against the Yankees in New York with 5 2/3 shutout innings on June 25. On Tuesday night, he shut down a hot-hitting Braves team that was coming off a 7-2 trip.
"He's pitched against some tough lineups," Marlins manager Joe Girardi said. "He has definitely held his own. He's throwing the ball great."
Joe Borowski pitched the ninth for his 21st save in 24 chances.
James (4-1) struck out six and walked one in seven innings. The left-hander yielded seven hits, including the homers by Ross in the second and fourth innings.
"He hit them out, so they couldn't have been too good of pitches," James said. "I feel like the second pitch was a pretty good changeup. He just got enough wood on it to get it over the wall."
Ross has hit four of his eight homers this season in the last six games.
"I felt good tonight," Ross said. "I felt like my timing was on."
James had received strong offensive support in his first four starts, with the Braves averaging 8.3 runs. The support allowed James to keep winning despite allowing five runs in five innings at San Diego on July 16 and four runs in six innings in a win over St. Louis on July 5.
The streak of strong support ended with the Braves' first game against Sanchez, who did not allow a runner past first base until the sixth inning.
"I think he knows where his pitches are going," Braves manager Bobby Cox said of Sanchez. "That's what makes him so good. He's got some movement on them."
Atlanta's frustrations became obvious in the fifth. After taking a called third strike on an inside fastball for the second out of the inning, Adam LaRoche argued with plate umpire Bill Miller and was thrown out of the game.
Atlanta's next batter in the fifth inning, Scott Thorman, singled to center but was thrown out by Ross while attempting to advance to second.
Andruw Jones struck out as a pinch hitter in the eighth.
Backed by double plays in the first and third innings, Sanchez faced only one batter over the minimum through five.
Another double play helped Sanchez strand two runners in the sixth after giving up one run.
Ross had his only other two-homer game of his career on April 13, while playing for Los Angeles at Pittsburgh. ... Langerhans ended an 0-for-17 drought with a third-inning single. He went above the wall in center to rob Josh Willingham of a homer in the ninth inning. ... 3B Miguel Cabrera made a diving snag of a sharp grounder hit by Jeff Francoeur in the seventh inning. While on his knees, Cabrera threw out Francoeur in a close play at first. ... The Marlins' record for consecutive scoreless innings is 26 1/3 by Luis Aquino from May 9 to July 26, 1994.