Gray (12-3) allowed seven hits over 6 2-3 innings. He didn't give up more than one earned run in any of his five July starts.
Jaso and Cespedes homered off Nick Tepesch (3-7).
Tepesch, who threw 99 pitches in a start last Sunday and then made a relief appearance two days later in a 14-inning loss, exited with a 2-1 count to Donaldson because of soreness in his left knee.
Tepesch had this start pushed back a day.
Donaldson and Reddick homered off Nate Adcock, who made his season debut.
The four homers were the most for the A's since they hit five against Detroit on May 26.
Oakland's late power display prevented the Rangers, who own the worst record in the majors, from recording consecutive wins for the first time since June 27-28.
Gray hasn't lost since June 13. In four starts this season against Texas, Gray has a 1.84 ERA.
Texas took a 1-0 lead in the fourth when J.P. Arencibia singled home Jim Adduci, a 29-year-old rookie who moved into scoring position with his first major league stolen base.
Adcock, whose contract was purchased from Triple-A Round Rock on Thursday, became the team-record 32nd pitcher used this season by Texas.
NOTES: Oakland's starter on Sunday, Scott Kazmir, ranks second in the AL with a 2.32 ERA. He hasn't allowed more than one earned run in any of his four previous starts. ... Rangers LHP Derek Holland (knee) will make his first rehab start on Wednesday for Double-A Frisco if a Monday bullpen session goes well. ... A's infielder Alberto Callaspo (hamstring) is scheduled to be activated for Sunday's series finale.