SEATTLE — The past month on the mound for Chicago's Dylan Covey was mostly forgettable. Lots of hits. Lots of runs allowed. Very little success.

All of which made his performance on Saturday night stunning, allowing two hits in 8 1/3 innings in the White Sox's 5-0 victory over the Seattle Mariners.

In his five starts before the All-Star break, Covey was battered. He was 0-4 with an 11.70 ERA and six home runs allowed. Yet he baffled the Mariners, picking up his first win since June 13 against Cleveland.

"Definitely just mixing up speed. The curveball was probably the best it's been the past two years or so and it was just another pitch to get them off my fastball," Covey said. "The last couple of outings I haven't been mixing up speeds enough and they've been getting to me the second time through."

There was no getting to Covey in this outing. Covey took a no-hitter into the sixth inning before Dee Gordon singled with one out. He retired the next nine batters until Jean Segura's one-out single in the ninth ended his night.

Covey (4-5) was lifted after throwing 105 pitches. He had never pitched beyond the seventh inning in a major league start and in his past three road starts, Covey had allowed 18 earned runs and opponents were hitting .380.

"After the second inning ended, the third and fourth, I started to pick up some steam and started to pour in some strikes," Covey said. "It really worked out for me."

He struck out five and got help from solid defence on the infield with 12 ground-ball outs. Shortstop Tim Anderson made a pair of difficult plays to get Gordon and Ben Gamel in the early innings and Yolmer Sanchez robbed Nelson Cruz of a hit in the seventh with a backhanded stop.

Leury Garcia added one more defensive gem to keep the shutout intact, robbing Mitch Haniger of a two-run homer for the second out of the ninth inning with a leaping catch at the wall in left field.

Avisail Garcia provided the big blow with his 10th home run of the season off Seattle starter Felix Hernandez. Chicago got four runs in the fourth inning after Hernandez was dominant the first time through the lineup.

Hernandez (8-8) recorded six straight outs via strikeout in the second and third innings, the only hiccup a walk to Omar Narvaez. But it all fell apart in the fourth. Sanchez opened the inning with a sharp single, Jose Abreu was hit by a curveball that didn't break and with one out Garcia hit a changeup out to deep centre field.

"I was looking for something slow because that is how he struck me out the first time," Garcia said.

FELIX'S RETURN

Hernandez was activated off the disabled list to make the start after suffering lower back stiffness. He lasted just five innings for the fourth time in his last five starts. Hernandez was limited to about 90 pitches, having not thrown since July 6.

Despite the big inning, Seattle manager Scott Servais thought the outing was an overall improvement for Hernandez.

"Definitely a step forward. I thought his stuff was much crisper, looked much better than it had the last two or three starts. (I'm) encouraged by that," Servais said.

MAKING MOVES

White Sox: Garcia was activated from the 10-day disabled list before the game. Outfielder Ryan LaMarre was optioned to Triple-A Charlotte to clear the roster spot. Garcia had been on the DL since July 10 with a strained right hamstring. Saturday's game was just his 36th this season after missing nearly two months earlier in the season with a hamstring injury.

Mariners: Outfielder John Andreoli was optioned to Triple-A Tacoma to clear the roster spot for Hernandez. Andreoli was with the club for only one day after being called up on Friday.

UP NEXT

White Sox: Reynaldo Lopez (4-7) will make his 20th start of the season, trying to rebound from two poor outings before the All-Star break. Lopez is 0-2 with a 5.84 ERA in his past two starts.

Mariners: Lefty Marco Gonzales (10-5) looks to build on his impressive first-half performance. Gonzales has won his last three starts, including a 3-0 win over the Angels in his last outing on July 11.