Greinke (4-2) allowed one run and struck out four in the surging Angels' 11th win in their last 14 games.
Alberto Callaspo went 2-for-3 with two RBI and Mike Trout collected two hits and drove in a run for the Angels.
Brandon Moss hit a solo home run for the Athletics, who fell for the second consecutive game after winning a heady nine in a row. Jarrod Parker (9-8) took the loss with two runs on eight hits over seven innings.
The Athletics were unable to get a handle on Greinke and were shut out until Moss homered in the seventh to make it a 2-1 game.
Los Angeles broke it open late with two runs in both the eighth and ninth innings.
The Angels outhit the A's 12-4.