Eleven days after pitching a three-hit shutout against Kansas City, Johan Santana yielded one hit in eight innings yesterday to lead the Minnesota Twins over the Royals, 4-1, in Kansas City, Mo.

"He's definitely on top of his game right now," Kansas City's Dee Brown said. "He threw me a 95 [mph] fastball and it was like it exploded out of his hand. By the time I saw it, it was beyond me."

Lew Ford and Justin Morneau backed Santana with consecutive home runs, helping the Twins stop a five-game losing streak.

"I was able to throw my fastball for strikes and throw it in and out, and throw my change-up," Santana said. "This time they knew what was coming sometimes and they were able to take pitches. They made me throw a lot of pitches. Everything works out when you're able to throw your fastball for strikes."

Santana (8-6) is 6-2 with a 1.43 ERA in his last eight starts. His two losses in this streak were 2-1 to Chicago and 2-0 to Detroit.

"It's a shame a guy can't go to the all-star game because we aren't scoring any runs for him," Twins Manager Ron Gardenhire said.

Santana struck out nine to raise his league-leading total to 145, walked four and hit a batter. Joe Nathan finished for his 24th save in 25 chances, completing the first one-hitter for the Twins since Scott Erickson's at Boston on July 24, 1992.

* WHITE SOX 5, ATHLETICS 2: Freddy Garcia won for the third time in four starts since his trade to the White Sox, leading Chicago to victory.

Paul Konerko, Carlos Lee and Aaron Rowand homered for the White Sox, who won for only the second time in their last 17 games at Oakland.

Garcia (7-8) is 3-1 with a 3.95 ERA since Seattle dealt him to the White Sox on June 27, and he improved to 5-0 in six day games this season. He allowed two runs -- one earned -- and two hits in 62/3 innings.

* YANKEES 5, TIGERS 3: Orlando Hernandez keeps winning while visiting New York waits for Kevin Brown and Mike Mussina to come off the disabled list.

El Duque won his second straight start since the Yankees brought him up, and the Yankees beat Detroit for their sixth victory in seven games.

Gary Sheffield homered and drove in three runs for the Yankees. Detroit, which matched its 2003 win total Friday, lost for just the third time in nine games.

Hernandez (2-0) allowed three runs and six hits in five innings. Hernandez struck out six and walked three.

* RANGERS 4, BLUE JAYS 0: Mark Teixeira hit a three-run homer and Ricardo Rodriguez combined with three relievers on a shutout to lead Texas to the home win.

Teixeira hit his 20th homer of the season in the fourth after Michael Young singled off Ted Lilly (7-7) and Alfonso Soriano walked. Soriano added an RBI single in the eighth off Vinnie Chulk.

Teixeira became the fifth-youngest switch-hitter to hit at least 20 homers in his first two seasons. Mickey Mantle, Eddie Murray, Ruben Sierra, and Chipper Jones reached the milestone at a younger age than the 24-year-old Teixeira, who hit 26 as a rookie.

* ANGELS 8, RED SOX 3: Vladimir Guerrero and Adam Kennedy homered, and Bartolo Colon pitched six solid innings to lead host Anaheim to victory.

Colon (7-8) won his second straight start after going 1-6 with an 8.45 ERA in his previous 10 outings. The right-hander allowed a run and three hits, including the first of Johnny Damon's two homers.