MIAMI -- Houston's Roy Oswalt and a brief rain storm were too much for Dontrelle Willis to overcome Friday night.
Willis (7-11), on the longest losing streak of his major league career, hasn't won since May 29 at the Chicago Cubs, a span of 12 starts. He pitched 6 1/3 innings, allowing three runs and six hits.
Oswalt (11-6) allowed a run and four hits over six innings with five strikeouts. He has a four-game winning streak since July 20.
Willis gave up a two-run double to Eric Bruntlett that gave Houston a 2-1 lead, and the rain came, causing a 30-minute delay. Willis didn't return and the Marlins dropped 10 games under .500 (50-60) for the first time since August 19, 2006.
"It was a tough game tonight. I feel I threw the ball very well but Oswalt did the same," Willis said. "I felt strong and I was executing my pitches where I wanted to but a couple plays got through so you have to tip your hat. I felt like I was right there the whole night."
Despite his third consecutive quality start, Willis tied Milwaukee's Chris Capuano for the longest losing streak in the majors.
"He pitched good, it's just a shame he got hooked up with Oswalt," Marlins manager Fredi Gonzalez said. "I'm pleased with his performance, he was outstanding."
Bruntlett had three hits and a career-high four RBI. He had been hitless in his previous seven at-bats before getting three straight hits, including two doubles.
The Astros trailed 1-0 in the seventh inning when Carlos Lee led off with a single and Ty Wigginton doubled to put runners on second and third. As rain began to fall, Willis struck out Jason Lane, then Bruntlett hit a two-run double to center.
"It's an awfully great feeling to get RBIs and come up with big hits," Bruntlett said. "That was when the rain was really coming down. It was good to sneak one in right before (a rain delay)."
After the delay, Matt Lindstrom relieved Willis. Orlando Palmeiro pinch hit for Oswalt and drove in Bruntlett with a single to make it 3-1. It was Palmeiro's 116th career pinch hit, tying him for ninth on the career list with Jerry Lynch.
The Marlins closed to 3-2 in the seventh off Dave Borkowski, who relieved Oswalt. Alfredo Amezaga doubled, then scored when pinch-hitter Todd Linden singled.
Houston stretched its lead to 6-2 in the eighth. Reliever Justin Miller walked in a run with the bases loaded and Bruntlett doubled in two runs.
"Big night by Bruntlett, driving in some big runs for us, then everyone else stepped up," Astros manager Phil Garner said. "Roy threw well tonight. I don't know whether we should feel fortunate for the rain delay but at least we got the lead on him right before."
Chris Burke made it 8-2 with a two-run homer, his fourth, off Carlos Martinez in the ninth. Burke had three hits.
"If you can outlast the other pitcher, a lot of times you can get that win in the seventh or eighth inning," Oswalt said. "It's especially big to keep the bullpen off at least for six innings."
Florida took a 1-0 lead in the fourth when Jeremy Hermida hit his 10th home run.
Craig Biggio led off the first with a single, his 3,022nd hit, one away from Lou Brock, who is 22nd on the list.
Josh Willingham was hit by Oswalt twice, in the first and sixth. The second time he took a pitch on the left elbow that doubled him over in pain but he stayed in the game. ... The Marlins placed RHP Byung-Hyun Kim on waivers on Friday and he was claimed by Arizona. Kim, acquired from Colorado on May 13, was 6-5 with a 4.63 ERA. ... Florida placed RHP Renyel Pinto on the 15-day DL because of a left shoulder strain. RHP Carlos Martinez was called up from Double-A Carolina. ... The Astros purchased the contract of LHP Stephen Randolph from Triple-A Round Rock. RHP Chris Sampson was placed on the 15-day DL because of a right ulnar collateral ligament sprain.