The Orioles were down 3-2 in the sixth when Nick Markakis coaxed a leadoff walk from Astros starter Lucas Harrell.
One out later, Davis sliced a pitch into the first row of the left-field stands for his 38th homer of the season and first since the All-Star Game break.
J.J. Hardy also drove in two runs for Baltimore, which took the opener of a three-game series.
Chen (6-3) remained on a hot streak with a third win in four appearances since returning from the disabled list, yielding three runs on seven hits over 7 1/3 innings. The left-hander walked one and struck out nine.
Jim Johnson tossed a 1-2-3 ninth for his 36th save.
Harrell (5-11) was tagged for four runs on just two hits over 5 1/3 frames.
Jose Altuve knocked in a pair of runs for Houston.