Baltimore moved to within 3 1/2 games of American League East-leading Toronto with the win. Manny Machado added two hits as the Orioles improved to 5-4 on their 10-game homestand.
Oriole pitchers have allowed just nine runs in their last six games.
"It's been at a level that, if we can stay there, will allow you to compete late in the season. Simple as that," manager Buck Showalter said of his pitching. "In order to accomplish what we want to get accomplished, this is the type of consistency we're going to have to have."
Norris, coming off eight scoreless innings against Boston last Sunday, allowed baserunners in each of the first four innings, but then settled in. He retired 10 straight before being lifted after surrendering back-to-back singles with two outs in the seventh. Darren O'Day came on to get the final out of the inning.
"I was a little shaky, wasn't great, particularly early, but started to find my stride," Norris said. "Started to get in a groove from there and made some pitches. To keep that team at bay for as many as I did was great, and like I said the bullpen picked me up."
Toronto rallied in the eighth when Jose Bautista was hit by a pitch and Edwin Encarnacion doubled to left. Bautista tried to score, but shortstop J.J. Hardy's relay throw to catcher Nick Hundley got there just ahead of him. The play was confirmed after a crew chief's review to determine if Hundley violated the collision rule.
Brett Lawrie's RBI single made it 3-2, but Nelson Cruz made a sliding catch on Josh Thole's liner to end the inning. Zach Britton pitched the ninth for his seventh save.
"This is a staff, from the bullpen to the starters, we're all out there to help each other and get better," Norris said, "So it carries into the next guy and so forth, and I'm going to pass the rock off to [Chris Tillman] tomorrow and he's going to go out there and do his thing."
Norris allowed a run on seven hits in 6 2/3 innings. He struck out five, walked one and hit a batter.
"We had a lot of opportunities today, we just couldn't cash them in and we got burned by the home run ball," Toronto manager John Gibbons said. "They've got a good team over there. We let Norris off the hook early. I thought he was really, really good."
Dickey went 6 2/3 innings, giving up three runs -- two earned -- on six hits, while striking out four and walking two before exiting the game with right groin tightness. The Orioles came in batting .208 (10-for-48) with runners in scoring position through the first eight games of their homestand, and proceeded to go 0-for-5 with RISP over the first three innings.
The O's trailed, 1-0, after Norris walked in a run in the second, but he limited the damage by getting the final two outs with the bases loaded.
Baltimore tied it in the fourth thanks to Delmon Young's baserunning. He singled with one out and raced to third just ahead of the throw on Ryan Flaherty's bloop single to center.
"That was one of the big plays this year in terms of baserunning," Adam Jones said.
Young then scored on Hundley's sacrifice fly. In the fifth, Jones ended up on second with one out after Juan Francisco fielded his broken-bat grounder and threw wildly to first. Davis then sent a 1-0 knuckleball that was up and over the plate into the Orioles' bullpen, making it 3-1.
"With that knuckleball, sometimes it'll go there, [sometimes] it'll go down and in," Dickey said. "I threw him the same pitch out of my hand two at-bats before and he hit a little weak liner to Jose [Reyes], so it's just part of what comes with that pitch."
It was the 11th homer of the year for Davis, and it snapped an 0-for-9 streak. He's now hitting .228 on the year.
"There's no change in my approach and my work. I've been doing everything I can to try to get back to feeling good in the box," Davis said. "I felt the last couple of days I've started to click a little bit. Didn't have a lot of show for it, but [the homer] was big."