CHICAGO -- One of Bud Norris' best starts of the season, coupled with three Baltimore home runs, led the Orioles to their second win in as many days.

Norris outdueled Chris Sale as Baltimore beat the Chicago White Sox 8-2 to start a three-game series at U.S. Cellular Field.

The Orioles (71-52) hold a 7 1/2-game lead in the American League East after winning for the ninth time in their past 10 series openers.

"I felt really good," said Norris, who threw seven effective innings. "I just really got into a groove from the get-go. My mentality this entire year and last year, too, is just really 'one pitch at a time.' That's all you can really control, and I was just letting my guys play defense."

Norris (11-7) allowed two runs, struck out five and didn't issue a walk while earning his third consecutive win.

The Orioles scored three runs off Sale in his six innings of work, and they broke the game open with a five-run eighth against Chicago's bullpen.

Right fielder Nick Markakis, who made a great catch to rob Chicago third baseman Conor Gillaspie of a two-run homer in the seventh, went 3-for-5 with a two-run home run to lead Baltimore offensively. Shortstop J.J. Hardy also went 2-for-4 with a homer, left-fielder Nelson Cruz hit a homer, first baseman Steve Pearce went 3-for-5, and second baseman Jonathan Schoop had a three-run double to key the eighth-inning rally.

Two hits by Markakis came off Sale, the White Sox's ace left-hander who usually dominates left-handed hitters.

"I can't believe how hard it is for a left-handed hitter to go up there and get two knocks off Sale," Orioles manager Buck Showalter said. "First of all, you're going to get some things tested in your gut a little bit to hang in there. That's not pleasant and I wish everybody could try to stand in there. You'd have even more appreciation for it."

Norris cruised through the first six innings, allowing only a single by center fielder Jordan Danks in the third, before running into trouble in the seventh. He got a big lift from Markakis to escape with a one-run lead.

After the White Sox cut the deficit to 3-2 on a two-out, two-run single by right fielder Avisail Garcia, Gillaspie drilled a liner to right that looked like it might put Chicago in front.

Instead, Markakis made a leaping grab before slamming into the fence.

"I thought I had a shot at it the whole way," he said. "I just positioned myself where I thought the ball was going to land and I was just going after it and doing anything I can to catch it -- especially with the situation of the game."

The White Sox didn't get any closer, thanks mostly to their struggling bullpen.

"Obviously not too sharp," Chicago right-hander Matt Lindstrom said after failing to get an out in the eighth and giving up three runs on three hits. "I can get strike two on everybody. It's a matter of finishing the hitter. It's a little frustrating right now."

Sale (10-3) took the loss after giving up three runs and eight hits in six innings.

Coming into the game, he was 0-1 with a 5.28 ERA against the Orioles in nine career appearances (three starts), including a 9.00 ERA in three relief appearances at U.S. Cellular Field. He got a quality start and struck out eight this time, but his difficulties against Baltimore continued.

The Orioles took a 1-0 lead when Hardy hit a solo homer off Sale to start the second. They made it 2-0 in the fifth when Pearce lined a double to center that scored Markakis from first.

Pearce nearly made it a three-run lead on a shallow single just past the infield by center fielder Adam Jones, but White Sox second baseman Gordon Beckham threw him out at the plate on a close play that was reviewed and upheld.

Cruz did make it 3-0 by leading off the sixth with his 32nd homer, which was Baltimore's second of the night off Sale - who had allowed just seven all season before the game. It was also the first time Sale had allowed multiple home runs in an outing since Sept. 15, 2013.

"This is a team that, no question, I've struggled against from the first pitch I ever threw (against them)," Sale said. "It's something that's just frustrating. You have a plan you want to execute. Sometimes teams come in and they do what they did tonight against me."

NOTES: The Orioles plan to call up RHP Miguel Gonzalez from the minors at some point this week. He threw a 75-pitch simulated start Monday to keep his arm loose, after being optioned Aug. 9 to Triple-A Norfolk to make room on the roster for RHP Ubaldo Jimenez to come off the 15-day disabled list. Whenever Gonzalez returns, either he or Jimenez will likely join the bullpen and the other will stay in the rotation. Manager Buck Showalter said Monday that Gonzalez might throw another side session Thursday, but only if the Orioles bullpen doesn't need him to pitch sooner. ... White Sox manager Robin Ventura said injured CF Adam Eaton (strained right oblique) is moving around better. Ventura also said Eaton might be assigned a brief injury-rehab stint in the minor leagues before he comes off the 15-day disabled list. ... Chicago DH Adam Dunn met with reporters for the first time after telling MLB.com this past weekend he might consider retirement this offseason. Dunn, 34, is in the last year of his contract with the White Sox. He said he will likely think it over in the offseason and discuss it with his family.