Davis went deep in the third inning, handing the O's a 3-0 lead, and added a run-scoring double in the fifth for a 5-0 Baltimore advantage.
Nick Markakis went 4-for-5 with three runs scored while Manny Machado and Adam Jones each provided two hits and an RBI as second-place Baltimore took three-of-four games from the American League East-leading Red Sox.
The O's pulled to within 1 1/2 games of the division top spot with the win.
Miguel Gonzalez (5-2) earned the victory, allowing three runs on five hits over 6 1/3. He walked two and struck out two.
Red Sox starter Jon Lester (6-4) was tagged for five runs on nine hits in a five-inning effort.
Will Middlebrooks clouted a three-run homer in the loss.
Exploding whale video goes viral on Internet
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'