ATLANTA -- The top of the Atlanta batting order has been struggling since the All-Star Game. On Saturday night, the Braves began to show signs of emerging from their offensive slumber.

Second baseman Tommy LaStella and first baseman Freddie Freeman, the No. 2 and 3 hitter in the lineup, had three hits apiece to help the Atlanta Braves to a 5-3 win over the San Diego Padres and give starter Julio Teheran his 10th win.

"I thought we had a great game plan against their starter," Braves manager Fredi Gonzalez said. "We were patient. Our No. 2 hitter was patient and it's nice to see Freeman swinging the bat well."

Freeman had gone 4-for-30 since the All-Star Game and seen his average fall to .283. The all-star went 3-for-5, his 12th three-hit game this season, with one RBI.

La Stella had been 6-for-31 since the break but was 3-for-4 with a walk. They were a big part of Atlanta's 11-hit attack.

"We were able to put together some good quality at-bats," La Stella said. "In a game like this, it's important to grind it out and were ultimately able to come out on top."

The support helped Teheran (10-6), who entered the game with the best home ERA in the majors (1.23) but did not have his best stuff. The right-hander was lifted for a pinch hitter after six innings, allowing three runs and nine hits with five strikeouts.

"I had to work a little harder tonight," Teheran said. "They were swinging and hitting my pitches. That's part of the game."

Gonzalez said, "Julio pitched great. Those last two innings took a lot out of him, so we didn't want to push him out for the seventh. He gave us everything he had."

Atlanta relievers Shae Simmons, Anthony Varvaro, Jordan Walden and Craig Kimbrel finished with three scoreless innings.

Kimbrel, who lost on Thursday night, struck out the side in the ninth inning for his 31st save.

San Diego rookie Odrisamer Despaigne (2-2) suffered his worst start since making his debut on June 23. He lasted only 3 2/3 innings and gave up five runs (two earned), six hits and five walks with three strikeouts.

Despaigne had not allowed more than two runs in any of his previous six starts and took a no-hitter into the eighth inning against the New York Mets.

"He had a lot of 1-0, 2-0 and 3-0 counts," San Diego manager Bud Black said. "He didn't have the ability to locate a pitch when he needed to."

The Braves scored a run in the second inning. Right fielder Jason Heyward walked, advanced to third on a ground-rule double by catcher Evan Gattis and came home on Chris Johnson's grounder to third.

San Diego came back with two runs to take the lead in the fourth inning. Second baseman Yangervis Solarte and right fielder Seth Smith opened with singles and scored when catcher Yasmani Grandal doubled to center.

In the bottom of the inning, the Braves rallied for four runs and chased Despaigne. Johnson had an RBI single and came around to score on Teheran's textbook squeeze bunt. The Braves scored their third run on Solarte's throwing error and added another on Freeman's single up the middle.

The Padres cut the lead to 5-3 in the fifth inning. Third baseman Chris Nelson led off with a double and scored on Solarte's two-out single.

The Padres committed three errors, which led to three unearned runs. San Diego began the night with onlyl eight errors in July, tied for the second fewest in the majors this month. Despaigne, Solarte and reliever Alex Torres each had a throwing error.

"It's understandable," Black said. "You're going to make some errors."

NOTES: The Braves unsuccessfully challenged a call by third base umpire Larry Vanover, who correctly ruled that 1B Freddie Freeman's line drive was foul. The appeal took 1:45. ... Atlanta recalled INF Phil Gosselin from Triple-A Gwinnett and optioned INF Tyler Pastornicky. Gosselin was leading the International League with hits and batting .344. Atlanta activated RHP Anthony Varvaro from the paternity list and sent RHP Gus Schlosser back to Triple-A Gwinnett. ... San Diego activated 1B Yonder Alonso (right wrist tendinitis) from the 15-day disabled list and optioned INF Jake Goebbert to Triple-A El Paso. Alonso was in Saturday's starting lineup. Sore knees kept OF Carlos Quentin out of the San Diego lineup on Saturday. ... Sunday's game features Atlanta LHP Mike Minor (3-6, 5.32 ERA) against San Diego LHP Eric Stults (3-12, 5.00).