ATLANTA -- The Atlanta Braves turned to their youngest stars to end their longest losing streak in four years.
The 23-year-old Hanson (2-2) gave up two runs in the second inning and then retired 20 of his last 21 batters. He allowed four hits and struck out seven without a walk.
"Two young guys really came through," said Braves manager Bobby Cox.
The Braves snapped their longest losing streak since dropping 10 straight from June 11-22, 2006. This season's streak included an 0-7 road trip, the Braves' first winless trip of at least seven games since 1949, when the franchise was based in Boston.
The Astros have lost four straight.
Hanson, in his first full season, has allowed no more than two runs in each of his first five starts and has a 2.17 ERA. He said he relished the chance to stop the losing streak.
"I like when I get the ball in big games, in big situations," he said.
Hanson, who had not lasted more than six innings in his first four starts, took a more aggressive approach to stick around longer.
"I wanted to come in and just throw a lot of strikes and go deep in the game," Hanson said, adding he felt strong enough for the ninth after throwing 99 pitches.
"We were trying to get him as much as we could, but he was awesome," said Houston manager Brad Mills. "We were trying not to get behind him. He pitched a really good game, no doubt about it."
McLouth walked with one out in the third inning and scored on Heyward's sixth homer. The homer cleared the center-field wall, bouncing off a fan in the first row and falling between the stands and the outfield wall.
"I made one mistake to Heyward," Myers said. "One mistake can beat you."
Heyward just missed another homer in the eighth when right fielder Hunter Pence reached over the top of the wall in right-center field to catch Heyward's drive. Heyward turned around on the basepath close to second base and tipped his helmet toward Pence in recognition of the catch.
Heyward smiled when asked if he raised his helmet because he was frustrated.
"I was tipping my cap," Heyward said. "Frustration is throwing it down."
Heyward's homer in the Braves' 10-4 loss at St. Louis on Thursday ended the team's eight-game homerless streak.
Cox gave the slumping Heyward a day off on Wednesday in hopes the rookie would come back with a more aggressive approach at the plate.
"He's swinging a little earlier in the count now," Cox said. "He's taking to it pretty good. We want McLouth to swing some, too. You can't feel for the ball all the time. You've got to let it go once in a while."
McLouth, the leadoff hitter, had two hits and a walk.
Martin Prado singled and scored from third when a hard grounder by Troy Glaus took a bad hop and hit Astros shortstop Tommy Manzella in his throat in the first inning. Manzella remained in the game after a long visit from the Astros' trainer, but his neck was red after the game and he had difficulty speaking.
Myers gave up six hits and four runs, three earned, in seven innings. He walked four and struck out five.
Hanson matched his longest start of his career. He also lasted eight innings, but received no decision, in Atlanta's 2-1 loss at Houston on Sept. 9, 2009.
- 1B Lance Berkman was held out after he tweaked his left groin running to first base in his last at-bat against Cincinnati on Thursday night.
- LHP Wandy Rodriguez, originally scheduled to start Friday night, is expected to start Saturday after throwing on the side during batting practice. He had the start pushed back due to back spasms.
- Braves SS Yunel Escobar was held out with a strained left inner thigh.
- Cox said RHP Jair Jurrjens' next start will be pushed back to May 8. Jurrjens strained his left hamstring in Thursday's loss in St. Louis.