Ervin Santana was in control all night, while Daisuke Matsuzaka won in a walk.

Eight walks, that is.

Adding to his fantastic start, Santana pitched a four-hitter with nine strikeouts to lead the visiting Los Angeles Angels past the Kansas City Royals 4-0 Monday.

Meanwhile, a wild Matsuzaka somehow held down the Detroit Tigers while walking a career-high eight batters in Boston's 6-3 victory.

The right-hander had coldlike symptoms throughout the day and didn't feel good. Red Sox manager Terry Francona said he planned to use Matsuzaka for only five innings no matter what.

"He competes. He didn't have his best stuff or feel 100 percent physically," Francona said. "But tonight it was enough."

Santana joined teammate Joe Saunders at 6-0, becoming the third and fourth Angels pitchers to open a season 6-0 or better. Saunders and Santana are just the eighth pair of teammates to start a season 6-0 since 1920.

Santana walked none in his second career complete game, his first since tossing a five-hit shutout against the Chicago White Sox on May 23, 2005, for his first major league win.

"It's just trying to keep hitters off balance and throw a first-pitch strike all the time," he said. "We have a lot more starts to go, so I have to keep it up and keep working hard."

In other AL games, it was Toronto 1, Chicago 0; Oakland 2, Baltimore 1 in 10 innings; and Seattle 7, Texas 3.

Garret Anderson and Brandon Wood hit consecutive homers in a four-run ninth inning to help the Angels earn their 21st win, tied with Boston for most in the AL.

Erick Aybar tripled leading off the ninth against Ramon Ramirez (0-1). With one out, left-hander Jimmy Gobble came in to face lefty Casey Kotchman, who hit the first pitch into center for a run-scoring single.

With two outs, Anderson homered off Joel Peralta.

Royals starter Brett Tomko pitched seven shutout innings in his best outing of the season.

Santana lowered his ERA to 2.02, a huge improvement from last year when he finished 7-14 with a 5.76 ERA after going a combined 28-16 over the previous two seasons.

"He got a little frustrated last year because he was going out there at times without the tools he needed to do what he's doing now," Angels manager Mike Scioscia said. "He needed to work on his delivery and get back into his game. When he's out there on the mound and he has his mechanics together, it's a great combination."

At Detroit, Mike Lowell hit a two-run homer for his first RBIs this season. Kevin Youkilis and David Ortiz also connected for Boston, which won its fourth straight game and sent the Tigers to their fourth consecutive defeat.

Matsuzaka matched the major league high for walks this season but didn't allow a hit until Curtis Granderson's two-out RBI single in the fourth. He gave up one run and two hits with one strikeout, throwing 109 pitches.

"There's not too many outings where you walk that many and still win," Francona said.

Red Sox reliever Craig Hanson, just called up from the minors, gave up two runs in 1 2-3 innings. Hideki Okajima worked 1 1-3 scoreless innings before Jonathan Papelbon pitched the ninth for his 10th save in 10 chances.

Tigers starter Jeremy Bonderman (2-3) allowed four runs and seven hits in six innings.

"We couldn't get a hit bunched in with all the walks," Detroit manager Jim Leyland said. "We had good at-bats against Daisuke, but we couldn't get the big hit."

Blue Jays 1, White Sox 0

At Toronto, Dustin McGowan outpitched Javier Vazquez in an entertaining duel, and Matt Stairs homered to help the Blue Jays finish a four-game sweep.

B.J. Ryan walked the bases loaded in the ninth inning but got Pablo Ozuna to ground into a 1-2-3 double play to end the game, earning his fifth save. It was Toronto's first four-game sweep since May 2003 against the New York Yankees.

McGowan (2-2) gave up four hits in 7 1-3 innings to win for the first time in three starts. He walked none and struck out six.

Stairs hit a leadoff homer in the seventh off Vazquez (3-3), who struck out nine while throwing 120 pitches in 7 2-3 innings.

Mariners 7, Rangers 3

At Seattle, Wladimir Balentien and Richie Sexson homered to back Jarrod Washburn as the Mariners ended a five-game losing streak.

Washburn (2-4) took a one-hit shutout into the seventh inning before giving up three consecutive hits and leaving with tightness in his right calf. The left-hander beat Texas for the first time in three years, a run of 10 starts. It was his first home win in 11 months.

Kevin Millwood (2-3) allowed seven runs and nine hits in three innings, his shortest start this season, and lost his 10th consecutive road decision. That tied the franchise record by Joe McClain of the Washington Senators from 1961-62.

Balentien's three-run shot in the third put Seattle up 7-0. It was the third homer in 22 major league at-bats for Balentien, who has started every game since the Mariners recalled him April 30 from Triple-A Tacoma to replace released right fielder Brad Wilkerson.

Athletics 2, Orioles 1, 10 innings

At Oakland, Calif., Emil Brown singled home the winning run off Jim Johnson (0-1) with two outs for his third hit of the game.