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: The D-backs return to Salt River Fields on Sunday to host the Padres at 1:10 p.m. MST. Minor Leaguer Bo Schultz will get the start, but after him will be a slew of Major League relievers who are expected to play significant roles this season for Arizona. David Hernandez, Josh Collmenter, Addison Reed and Brad Ziegler are all set to appear. Paul Goldschmidt, who served as the club's designated hitter Saturday, is scheduled to return to the field for the first time since Wednesday.