Oakland moved within a half game of Texas for the lead in the American League West.
Nick Swisher's run-scoring base hit in the top of the seventh lifted the Indians into a 2-2 tie, but the A's quickly regained the advantage in the bottom half of the inning.
After retiring the first two batters in the seventh, Cleveland starter Justin Masterson (13-9) gave up a bloop single to right by Stephen Vogt. Sogard then doubled Vogt home only to be thrown out trying to stretch his hit into a triple.
Sean Doolittle (4-4) picked up the win despite giving up the tying run in the top of the seventh.