Danny Valencia’s leadoff double in the eighth spoiled the right-hander’s bid to become the 21st rookie in major league history to throw a no-hitter.

The White Sox won the afternoon game 2-1.

The 24-year-old Stewart (2-3), whose only previous major league win came at Target Field last month, struck out nine in the first complete game of his career.

This was only Stewart’s fifth start for the White Sox — and eighth of his career — after being traded to Chicago by Toronto on July 27.

Stewart dominated a lineup featuring only two regulars from opening day — Joe Mauer and Valencia.

Stewart retired the last six batters he faced, striking out three.

Brent Morel drove in two runs with a seventh-inning single, and Alex Rios had three hits for the White Sox. Twins starter Scott Diamond (1-3) gave up eight hits, two walks and two runs in five innings.

Philip Humber (9-8) set the tone in the matinee by pitching seven scoreless innings to snap a four-game losing streak.

In New York, Jesus Montero broke a fifth-inning tie with his first major league home run, then hit a two-run drive in the seventh to help New York to its fifth straight win.

Robinson Cano sparked the comeback from a 5-2 second-inning deficit with his third grand slam in less than a month.

Montero broke an 8-all tie when he homered deep into the right-field seats on the second pitch from Jim Johnson (5-5) leading off the fifth. Montero then followed Russell Martin’s seventh-inning single off Johnson with another opposite-field drive to right, putting New York ahead 11-8.

In Toronto, Brett Lawrie homered in the 11th inning to help Toronto end a three-game losing streak.

Lawrie homered to center off Dan Wheeler (2-2) with two outs in the 11th, his eighth homer since being called up from Triple-A Las Vegas on Aug. 4.

Shawn Camp (3-3) pitched one scoreless inning for the win.

Boston lost for the fifth time in seven games.

Red Sox starter Josh Beckett left in the fourth inning with a sprained right ankle.

In Cleveland, Doug Fister struck out a career-high 13, Victor Martinez hit a three-run homer and Detroit extended its AL Central lead to 7 1/2 games.

Fister (7-13) improved to 4-1 in seven starts since being acquired from Seattle on July 30. The right-hander gave up an earned run and four hits over eight innings.

Jose Valverde pitched a perfect ninth for his 41st consecutive save, extending his team record and helping the Tigers improve to 14-4 since holding a 1 1/2 -game lead on the Indians on Aug. 19.

In St. Petersburg, Florida, James Shields pitched a four-hitter for his major league-best 11th complete game to lead Tampa Bay.

Shields (14-10) struck out six and walked two. The only run he allowed scored on Michael Young’s grounder with one out in the ninth.

Shields also became the first AL pitcher since Randy Johnson in 1993 to have at least 200 strikeouts and 10 complete games in the same season.

Evan Longoria and B.J. Upton homered for the Rays, who are 24-13 since July 28.

In Oakland, California,  Billy Butler homered twice and drove in three runs, Alex Gordon doubled home the go-ahead run and Kansas City scored five times in the ninth inning.

Jeff Francoeur , Eric Hosmer and Mike Moustakas had two RBIs apiece and Melky Cabrera also drove in a run for the Royals, who avoided being mathematically eliminated for at least one more day.

Scott Sizemore hit a three-run homer for the A’s, who had won four straight. David DeJesus , Josh Willingham and Kurt Suzuki each drove in a run.

In Anaheim, California, Mark Trumbo continued his torrid rookie season with a two-run homer and an RBI double and Vernon Wells hit his 20th home run for Los Angeles.

Dan Haren (14-8) worked in and out of trouble through six innings, allowing three runs and 10 hits while striking out three and walking none.

Anthony Vasquez (1-2) gave up seven runs — six earned — and six hits in 5 2-3 innings for Seattle.

Brenden Ryan got Seattle within 6-3 in the fifth with his third homer.