Colon (5-2) won his second straight start, scattering nine hits while allowing no walks in the 96-pitch performance. The veteran right-hander struck out nine.
Nate Freiman went 2-for-3 with a solo homer and a two-run double that highlighted a five-run Oakland outburst in the fourth inning.
Josh Donaldson went 2-for-4 with a run-scoring single as the A's notched an eighth win in nine games overall.
Dallas Keuchel (1-2) gave up six runs (four earned) on nine hits over six frames for Houston.
Jason Castro went 4-for-4 with a run scored while J.D. Martinez and Chris Carter each provided an RBI for the Astros.