"I was fighting myself and fighting the strike zone a little bit," Johnson said. "I didn't have much."
Bobby Kielty and Perez also connected, sending the A's to their seventh victory in nine games. Rouse went 3-for-3 with a stolen base and two runs in his big league debut as Oakland roughed up Johnson with a depleted lineup missing injured infielders Eric Chavez, Bobby Crosby and Mark Ellis.
"We've got a bunch of gamers and grinders," Athletics manager Ken Macha said.
Dan Haren (5-5) beat The Big Unit at Yankee Stadium for the second time in less than a month, improving to 3-0 with a 2.76 ERA in five career starts against New York.
Jason Giambi hit a three-run homer and Derek Jeter (thumb) returned to the lineup as the designated hitter for the Yankees, but they dropped their second straight at home and fell out of first place in the AL East, a half-game behind Boston.
Barking at plate umpire Chad Fairchild when he didn't get close calls, a rattled Johnson (7-5) gave up six runs -- five earned -- and six hits in four innings. He walked five, including four in a 46-pitch fourth inning that lasted more than 20 minutes, and committed a balk.
"I think that's when I lost my focus and put a little bit of focus on the umpire," Johnson said.
Kielty opened the inning with his first home run of the season. Perez was 1-for-33 this year when he stepped to the plate, but he teed off for a two-run shot to left -- his first homer since July 6 with the Dodgers at Colorado.
"He hasn't given up on his season," Macha said.
Johnson, who was 2-0 in his previous four starts since a May 14 loss to Oakland, has a 5.63 ERA. He has allowed 15 homers in 14 starts, including 10 in his last six outings.
"It just didn't look like he had any pop. For the most part, it looked like he was forcing it," manager Joe Torre said. "I know he expected much more of himself tonight."
Haren labored through 114 pitches in 5 2/3 innings, but he didn't walk a batter and struck out five. The right-hander threw a six-hitter in the Bronx for a 6-1 win over Johnson on May 14.
"It's a tough place to pitch. Both times I was fortunate to get a few runs," Haren said. "I'm definitely not having as quick innings as I've had earlier in the year, but as long as they're zeros I don't care how many pitches I throw."
Gaudin walked two in the seventh and had just been pulled for ex-Yankee Brad Halsey when a crackling thunderstorm halted play.
The game resumed after a delay of 1 hour, 27 minutes. Giambi hit Halsey's second pitch over the right-center fence for his 17th homer, and Robinson Cano's two-out RBI triple cut it to 6-5. But Halsey struck out Williams to preserve the lead.
Johnson cruised through the first inning on eight pitches, but Thomas opened the second with his 463rd homer to pass Jose Canseco for sole possession of 26th place on baseball's career list.
"Look at the tape. Slider is up in the zone, fastball is in the middle of the plate -- simple as that," Yankees catcher Jorge Posada said.
Playing second base and batting ninth, Rouse was the only left-handed hitter in Oakland's lineup.
"Yankee Stadium, Friday night, he's a left-handed hitter and he's facing Randy Johnson," Macha said before the game. "Welcome to the big leagues."
But in his first plate appearance, Rouse led off the third with a single to right. He scored on Jay Payton's two-out RBI single.
"I couldn't have asked for anything more," said Rouse, who had never been to New York before. "It's just a great feeling. It's hard to put words to."
Rouse became the first A's player to get three hits in his big league debut since Ben Grieve on Sept. 3, 1997, according to the Elias Sports Bureau.
"Pretty impressive," Macha said.
Alex Rodriguez snapped a 1-for-15 skid with a two-out RBI single in the third, but Jeter was cut down at third on the play.
- New York LF Melky Cabrera struck out in the eighth, ending his streak of 54 plate appearances without a whiff -- the longest run by a Yankees rookie since Horace Clark (56) in 1965, according to Elias.
- Perez's first hit this year was an RBI single off New York reliever Ron Villone on May 14.
- The Yankees and Red Sox rescheduled Wednesday's rainout. The game will be made up as part of a day-night doubleheader on Sept. 16.