CHICAGO -- Randy Johnson is a month shy of his 43rd birthday, and what matters most to him these days is winning games.
He might not be the dominant pitcher he once was, but there are still nights when he can take control of a game with sizzling fastballs and long-legged deliveries that baffle opposing hitters.
Johnson tossed six innings of no-hit ball, Bobby Abreu hit one of three Yankees homers off Jon Garland to end his eight-game winning streak, and New York held off the Chicago White Sox 7-6 Wednesday night.
"After throwing a perfect game and a no-hitter, anything that happens on a day that I pitch that's going to go beyond winning -- striking out 20 or throwing a no-hitter -- that's a bonus," Johnson said.
Mariano Rivera bounced back from a blown save Tuesday, getting four outs for his 29th save in 32 chances. He retired Jim Thome on a grounder with runners at the corners to end it, and New York extended its AL East lead to three games over Boston.
The defending World Series champion White Sox dropped into third place in the AL Central.
With the Yankees leading 7-0, Tadahito Iguchi broke up Johnson's bid for his third career no-hitter when he lined an 0-2 pitch to left for a leadoff single in the seventh.
"It's fun to be on that roll, but if I give up a base hit, it doesn't matter as long as we win the game," Johnson said. "I threw two sliders that got him 0-2 and threw him a fastball that wasn't located like the fastballs earlier in the game."
The Big Unit lost his shutout, too, and then the Yankees nearly lost the game.
After Thome walked, Paul Konerko hit an RBI double. When Jermaine Dye followed with another run-scoring double off the top of the right-field fence, Johnson's night was over and New York's lead had been cut to 7-2.
Johnson pitched a perfect game at age 40 for the Diamondbacks against the Braves on May 18, 2004 -- his last shutout and the last no-hitter in the major leagues. He also threw a no-hitter for the Mariners in 1990 against Detroit.
"It felt good to get the first hit. It was something we needed to do to get a spark," Iguchi said.
The White Sox rallied again against Kyle Farnsworth in the eighth as Iguchi hit a solo homer and Crede delivered a three-run shot to make it 7-6.
Yankees manager Joe Torre then brought in Rivera, who blew a save Tuesday night when he gave up a ninth-inning homer to Konerko. This time, the All-Star reliever closed it out.
"I am never comfortable," Torre said. "You never know when enough is enough and tonight certainly proved that."
Johnson (12-9) gave up three hits and two runs in six-plus innings, walking two and striking out five.
"He was the best I've seen him in a long time," White Sox manager Ozzie Guillen said. "He was lights out."
Melky Cabrera and Robinson Cano also homered off Garland (12-4), who hadn't lost since June 8 over a stretch of 10 appearances, including nine starts. He lasted six-plus innings, giving up 10 hits and six runs.
Cabrera hit his sixth homer leading off the fifth to give Johnson a 2-0 lead. After Garland walked Derek Jeter one batter later, Abreu hit his first homer in eight games since joining New York in a July 30 trade from the Phillies. The long shot to center also ended a stretch of 163 at-bats without a homer for Abreu, the longest drought of his career.
Cano connected on another long drive to center to lead off the sixth, giving Johnson a five-run cushion. The Yankees made it 7-0 in the seventh, chasing Garland. Alex Rodriguez had a run-scoring single off reliever David Riske, and Jorge Posada added an RBI grounder.
Garland gave up three straight hits to open the game but escaped with just one run scoring. Johnny Damon hit his second pitch off the center-field wall for a triple but held at third when Jeter reached on an infield single. Abreu followed with an RBI single, but Garland got Rodriguez to hit into a double play before Posada lined out.
- In his previous two starts -- a loss and a no-decision -- Johnson did not strike out a batter but took care of that immediately by fanning White Sox leadoff hitter Pablo Ozuna.
- Damon left in the fourth with a stiff right groin.
- Abreu hit eight homers for the Phillies.
- Johnson is 12-4 lifetime against the White Sox and 5-2 at U.S. Cellular Field.
- Jason Giambi, hit on the elbow with a pitch Tuesday night, did not play. Bernie Williams started as the DH for New York and then entered in center field in the eighth inning, a move that put Farnsworth into the batting order.