Williams retired 12 of the first 14 batters he faced and Craig Biggio hit a three-run homer to lead Houston to a 9-4 victory over the Mariners on Saturday night.
Williams (3-9) went 6 2/3 innings and allowed four runs and eight hits, striking out four and walking none.
"Woody did a nice job today," manager Phil Garner said. "He and Wandy (Rodriguez, Friday's starter) both set good tones for us in this series.
"Woody was throwing strikes and being aggressive against some pretty good hitters. Later in the game, he started getting behind in the count and that hurt him a little."
It was the fourth straight loss for the Mariners, who fell behind 5-0 in the second, after a season-high five-game win streak.
"Williams throws a lot of strikes," manager Mike Hargrove said. "He kept the ball down. We really didn't do anything different than we've been doing. We were aggressive. I felt like if we could stop them, once they got what they got, we'd have a chance to come back."
Williams was 0-5 with six no-decisions in his first 11 starts against Seattle from 1993-1999 but is 4-0 with two no-decisions against them since then.
"I don't think there's much to it though," he said. "Obviously, baseball is baseball and you just continue to try to make good pitches."
Cha Seung Baek (3-3) lasted only four innings and gave up seven runs, six of them earned. He allowed nine hits and two walks while striking out four.
The Mariners are 5-4 on their 10-game road trip.
"We just need to win," first baseman Richie Sexson said. "We're not worried about finishing the trip .500.
"It's been a long time we've been on the road. Some guys might be feeling it at this point. We've all dealt with it at some point where we've had long stretches like this. You just have to deal with it."
Hunter Pence tripled to drive in a run and Carlos Lee drove in Pence with a single to give Houston a 2-0 lead in the first inning.
Biggio's fifth home run of the season drove in Mike Lamb and Brad Ausmus in the second inning to make it 5-0.
Williams was hit in the lower leg by a batted ball from Yuniesky Betancourt in the third inning. Williams fielded the ball and threw wildly to first for an error that allowed Betancourt to go to second.
Williams was checked by the team trainer and stayed in the game after throwing some warm-up pitches to test the leg. One out later, Ichiro Suzuki hit an RBI single up the middle for Seattle's first run.
"I got a little sloppy after I got hit there," Williams said. "It tightened up a little on me, but its not bad. It was mainly muscular."
Ausmus singled to center to drive in Mark Loretta for a 6-1 lead in the third inning.
After Betancourt drove in two runs with a single in the fifth to pull Seattle within three, Loretta's RBI double in the fourth gave Houston a 7-3 lead.
Jose Guillen led off the sixth with his ninth home run of the season to close the lead to 7-4.
Morgan Ensberg hit his seventh homer of the year, a two-run shot in the eighth.
Mike Lamb is 6-for-7 with an intentional walk in the two games against Seattle. The Mariners didn't get him out until the seventh inning Saturday on a fly ball to left. ... Jose Lopez played third base for a full game for the second time in his career, and made an error on the first batter of the game. Lopez, who started at third June 17, 2005, against the Mets and played one inning there in 2004, took a bouncer off his chest from Biggio in the bottom of the first inning. ... Biggio's second-inning homer gave him 998 career extra-base hits. He is 11 hits away from 3,000 for his career. ... Ichiro's single in the third gave him an 11-game hitting streak.