The Orioles handed the Blue Jays their sixth straight loss.
Davis hit solo homers in both the second and fourth innings, and then hit a two-run shot in the sixth to finish off a three-run frame. He ran his season total to 23 home runs, two more than he has hit in any of his four previous major league campaigns.
Zach Britton (3-1), making his seventh start of the year, worked 6 2/3 innings to get the win. He allowed two runs on four hits and struck out six.
The first two home runs by Davis came off Carlos Villanueva (6-4), who surrendered four runs overall in 5 2/3 innings to take the loss.
Baltimore had a 6-2 lead going into the ninth, but Jeff Mathis hit a two-run homer off Matt Lindstrom with nobody out. That forced the Orioles to bring in Jim Johnson to get the next three batters in order and earn his 39th save -- tied for the major league lead.