Beckett (12-4) struck out 10 before leaving after Scott Hairston's leadoff triple in the eighth, and the bullpen extended its streak to 24 scoreless innings since the All-Star game.
Dustin Pedroia homered and drove in two runs and Jacoby Ellsbury had three hits for the Red Sox, who entered with just 25 runs and a .215 batting average in their nine games since the break.
They roughed up Trevor Cahill (6-9) and led 6-0 through five innings before the Athletics got to Beckett with single runs in the sixth, seventh and eighth.
In his last five starts at Fenway Park, Beckett is 5-0 with a 0.98 ERA and 36 strikeouts while allowing 23 hits and four walks. For the season, he is 7-0 in 10 starts at home.
Pedroia drove in Boston's first two runs with his fifth homer of the season in the first and a sacrifice fly after Ellsbury's triple in the third.
The Red Sox made it 5-0 in the fourth when the first four batters reached base. Jason Bay walked, took second on J.D. Drew's single and scored on Adam LaRoche's second double of the game. Jason Varitek and Ellsbury followed with RBI singles.
Cahill put the first three batters on base in the fifth. Kevin Youkilis and David Ortiz singled, then Bay, who had been in a 7-for-43 slump, singled in a run. It was his 73rd RBI of the year but only his second in 15 games.
Jed Lowrie doubled in Boston's last two runs in the seventh.
Beckett allowed just three baserunners in the first five innings on two hits and his own error then ran into trouble in the sixth.
With one out, Adam Kennedy and Orlando Cabrera singled. Beckett then struck out Hairston for the third time before loading the bases with his only walk, to Jack Cust. Kurt Suzuki had an RBI single but Ryan Sweeney looked at a third strike to end the inning.
Eric Patterson added a sacrifice fly in the seventh and Suzuki drove in Oakland's final run with a groundout off Daniel Bard in the eighth.