Hardy supplied three hits, including a two-run homer, en route to three RBI while Davis also drove in three runs on a pair of hits as the O's notched a fifth straight victory.
Henry Urrutia went 3-for-5 with a run-scoring single and Nate McLouth reached base five times with two hits and three walks for third-place Baltimore, which moved to 2 1/2 games behind American League East-leading Boston.
Scott Feldman (2-1) allowed two runs on five hits over eight innings to claim the decision, issuing two walks and striking out three.
Royals starter Wade Davis (4-9) was tagged for four runs (two earned) on seven hits over just 2 2/3 frames.
David Lough and Alcides Escobar each drove in a run for Kansas City.