While his regulars were piling on the runs, Moore was mowing down Marlins, striking out eight and walking three until he finished the seventh inning and Tampa Bay's bullpen mopped up. Burke Badenhop held Miami hitless in the eighth; Brandon Gomes walked one, but fanned three in the ninth to complete the victory.
The Rays had been atop the AL East until recently, but opened their three-game set in Tampa with a needed win and trail the Yankees by 2 1/2 games.
Cahill gave up just three hits, walked two and struck out eight, evening his record at 5-5 and keeping the Diamondbacks 8 1/2 games behind the Dodgers in the AL West with a 5-0 win.
Haren was rocked from the mound when Arizona put up four runs in the top of the sixth.
An off-season pick-up from Oakland, Cahill has won his last three starts after a rocky, 2-5 start in Arizona.
Topping the Angels in the opener of their three-game series, the Diamondbacks remain mired in third place at 32-32, with the Giants stalking the Dodgers from second place, four games out.
The second place Angels fell another game behind Texas in the AL West with the loss and a 6-2 Rangers win over Houston.
INTERLEAGUE SCOREBOARD: The leagues split Friday's games, each winning seven, keeping the AL edge at ten games, 75-65.