CHICAGO -- Bud Norris outdueled Chicago White Sox ace left-hander Chris Sale on Monday night, and the Baltimore Orioles used it to win their second game in as many days.

Norris had one of his best starts of the season, his teammates provided plenty of run support and the Orioles won 8-2 to start a three-game series at U.S. Cellular Field.

The Orioles (71-52) hold a comfortable lead in the American League East and have now won nine of their past 10 series-openers.

Norris (11-7) needed only 82 pitches to get through seven innings. He allowed two runs, struck out five and didn't issue a single walk to earn his third straight 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 scored twice and went 3-for-5 with a home run and two RBIs to lead Baltimore offensively. Shortstop J.J. Hardy also scored twice and 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.

Norris cruised through the first six innings, allowing only a single by center fielder Jordan Danks in the third, before running into some trouble in the seventh. Even then he got some help by 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, third baseman Conor 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.

The White Sox didn't get any closer, thanks mostly to their struggling bullpen along with two scoreless innings of relief by Orioles right-hander Brad Brach to finish it off.

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

Coming into the game, Sale 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 inning. 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'd 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.

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.