HOUSTON -- Scott Elarton's first start against the team where he began his career wasn't perfect -- though it did start out that way.
It's just Kansas City's second win in seven games and breaks a four-game winning streak for the recently surging Astros.
Elarton (2-8) retired the first 16 batters before giving up four hits and two runs in the sixth.
He didn't allow a hit until a ground ball by Adam Everett rolled just by the glove of diving shortstop Angel Berroa for a single with one out in the sixth.
Willy Taveras followed with a pinch-hit double before Craig Biggio's line drive two RBI single to center field got the Astros within 4-2.
Mike Lamb singled to load the bases, but he was picked off at first by catcher John Buck. Elarton pitched out of further trouble by striking Chris Burke out to end the inning.
Elarton won 17 games for Houston in 2000 and was the Astros opening day starter in 2001 before being traded to Colorado later that year while on the disabled list.
"It's been a long time but there are still a lot of people I know here and I have a lot of fond memories," he said. "It's definitely nice to do well against your former team."
Royals manager Buddy Bell, who also played for the Astros, was happy Elarton had this performance against Houston.
"He pitched great," Bell said. "He's had so many good times and has so many good friends still here, it was nice for him to be able to get one here."
The Royals really aren't picky about where they get their wins. The latest makes them 30 games below .500 with the worst record in the majors.
"It's definitely been difficult for us," Elarton said. "We've had our struggles. You name it we've done it badly."
Elarton struck out four and had no walks in six innings.
Astros starter Wandy Rodriguez (8-4) allowed seven hits and four runs in six innings. He struck out five and walked one.
Kansas City answered Houston's mini-rally with a three-run seventh. Sanders had an RBI single on a line drive to center field. The Royals then added two more runs on a single by Emil Brown. Brown singled to center field to send Mark Grudzielanek home. Brown took off for second only to be chased down and knocked down while being tagged out by pitcher Chris Sampson. Sanders slowly trotted home in the commotion.
Could the Astros, who have won eight of their last 10, have overlooked the struggling Royals?
"We certainly didn't take them lightly," Astros manager Phil Garner said. "They just outplayed us."
David DeJesus singled and then scored on a sacrifice by Brown in the first inning.
Buck followed Mark Teahen's triple that bounced off the left center field wall with a broken-bat RBI single that put Kansas City ahead 2-0.
Elarton hit the third double of his career and the first since 2000 when he was with the Astros to lead off the fifth. He scored on a double to left field by Sanders.
Brown followed that hit with another RBI double, also to left field to stretch the lead to 4-0.
Buck is optimistic that things will improve for the Royals.
"Anytime things are going the way they've been going for us, it's big to win the first game in a series," he said. "You just hope to ride it and maybe do well in the series and take it from there."
Even in a win the team that led the majors with 125 errors last season couldn't avoid an embarrassing blooper. In the seventh DeJesus and Brown both ran toward a long fly by Jason Lane, only to both stand looking at it as it dropped right between them for a double. Brown jumped in the air and outstretched his arms angrily while apparently yelling something to DeJesus.
This is the Royals first regular season visit to Houston since 2000. ... Friday was just the sixth time this month that Kansas City has scored more than three runs. ... Biggio had his 170th career interleague hit and is second in that category behind Mike Piazza with 172.