Hammel (6-1) made his regular start in the rotation after having fluid drained from a knee earlier in the week. He gave up five hits while throwing 104 pitches.
Kansas City's two runs came off reliever Stu Pomeranz, who worked the seventh and eighth innings.
Baltimore managed to score only once in the second despite sending seven men to the plate, but broke things open with a four-run fifth.
Three consecutive hits -- doubles by J.J. Hardy and Nick Markakis and a single by Adam Jones -- delivered one run each and Chris Davis had an RBI base hit later in the inning. The Orioles had three stolen bases in the fifth.
Davis added a two-run homer in the seventh.
Bruce Chen (3-6) gave up six runs on seven hits in four innings to take the loss.