The Angels lineup did not include Mike Trout, who received a day off, or Josh Hamilton, working his way back from a calf injury, but Bradley struck out Albert Pujols and got him to ground into an inning-ending double play with two on in the third.
"I felt really well; it was nice to get another start here with the big league team," said Bradley, who struck out three, walked two and hit another. "I felt good in the bullpen and I thought it carried out there."
The Angels' Garrett Richards, meanwhile, gave up five runs on eight hits in four innings. The D-backs got to the right-hander for three runs in the third inning and two in the fourth.
Didi Gregorius and Paul Goldschmidt had run-scoring doubles in the third, and Alfredo Marte had an RBI triple to left-center in the fourth as part of a two-hit day.
"I put myself in a couple bad counts and they took advantage of it," said Richards, who shut out the D-backs on two hits in three innings five days earlier. "For me, I have to be better at not letting the inning snowball."
The Angels got on the board with two runs in the fifth off Matt Stites. Matt Long doubled to left to score Kole Calhoun and then scored on Pujols' single to center.
The Angels have scored more than three runs just twice in nine games since they scored 15 against the Cubs in their Cactus League opener.
Up next: Tyler Skaggs will make his second Cactus League start when the Angels host the Reds at 1:05 p.m. PT Sunday. The left-handed Skaggs, acquired from the D-backs in the Mark Trumbo trade, is looking to secure a spot in the rotation. "He has terrific stuff and hopefully he's going to be at the level we need to start the season," manager Mike Scioscia said. The Reds will counter with projected Opening Day starter Johnny Cueto.
Chris Gabel is a contributor to MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.