KANSAS CITY (AP) — Eric Hosmer hit a go-ahead two-run homer, Danny Duffy settled down after a wild start and the Kansas City Royals rallied for a 4-1 victory over the Los Angeles Angels on Friday night.

Duffy (6-5) allowed five hits without a walk while matching a franchise record with three hit batters in just six innings. But the left-hander only allowed one run, wiggling out of a few jams by leaving six Angels on base — three in scoring position.

READ MORE: San Bernardino Investigators Say Loma Linda Sexual Predator May Have More Underage Victims That Have Not Yet Come Forward

The Royals mustered just one hit off Jered Weaver (4-9) until the sixth, when Ben Zobrist led off with a double to right. He tied the game moments later when first baseman Albert Pujols let a sharply hit grounder by Lorenzo Cain through his legs for an error.

Hosmer followed with his 406-foot shot over the bullpen in right field.

The Royals’ Ryan Madson and Kelvin Herrera each tossed a scoreless inning in relief, and Greg Holland breezed through the ninth to earn his 26th save.

It was a solid bounce-back performance by the normally staunch Kansas City bullpen, which coughed up a four-run lead in a 7-6 loss the previous night. Wade Davis gave up two runs for the first time in 115 appearances, and Holland surrendered four runs without recording an out.

The Angels, meanwhile, resumed their losing ways on the road. Their victory in the opener of the four-game series had snapped their nine-game skid away from Anaheim.

The last time Angels won consecutive road games was July 3-8.

Things looked promising for them in the first inning, when Shane Victorino hit a leadoff triple and trotted home on Mike Trout’s double. But the Angels’ slumping offense managed three singles off Duffy over the next five innings, failing to take advantage of three hit batters.

Taylor Featherstone and Victorino were plunked back-to-back in the second to load the bases, but Kole Calhoun flied out to end the inning. Calhoun was plunked in the fifth.

The Angels also got a pair of base runners caught in rundowns in the seventh inning, which proved costly when Madson issued back-to-back walks to load the bases. But the veteran reliever eventually got Pujols to ground out to end the inning.

READ MORE: Drone Video: Great White Sharks Off California's Coast Are More Common Than You Think

Weaver looked like he might make his meager run support stand up anyway. In his second start since missing a month with a hip problem, the soft-tossing right-hander beguiled the Royals with a fastball that never eclipsed 85 mph and off-speed stuff that frequently dipped into the 60s.

The Royals didn’t get their first hit until Cain’s weak single leading off the fourth, and didn’t hit a ball hard until Zobrist’s double in the sixth inning.

That proved to be the hit that got Kansas City’s offense on track.

TRAINER’S ROOM

Angels: SS Erick Aybar (back) was unavailable for the second straight day, though manager Mike Scioscia was hopeful that he will be back soon.

Royals: C Salvador Perez remained out of the starting lineup. The All-Star has not played since Tuesday because of soreness in his wrist.

UP NEXT

Angels: RHP Matt Shoemaker hopes to bounce back from a disastrous start against the White Sox, when he allowed seven runs on nine hits in 5 2/3 innings.

Royals: RHP Johnny Cueto tries to follow up a dazzling home debut with Kansas City. He tossed his sixth career shutout in a 4-0 win over Detroit on Monday.

MORE NEWS: 'Just Not Fair': Gascón Drops Bid For Death Penalty In Killing Of 10-Year-Old Anthony Avalos

(© Copyright 2015 The Associated Press. All Rights Reserved. This material may not be published, broadcast, rewritten or redistributed.)