Baltimore went 7-4 on its longest road swing of the season and has won five of its last six series.

"Anytime you go to the West Coast for 12 days and you can walk out of there with even a .500 mark, you're feeling pretty good about yourself. But to come away with seven wins out of 11, that's pretty impressive," winning pitcher Jason Hammel said.

Hammel (4-1) allowed four runs and nine hits through six innings, helping the Orioles tie the New York Yankees for second place in the AL East. The right-hander came in 0-3 with a 7.31 ERA in three previous starts against the Angels.

Mike Trout homered for the Angels, whose 11-20 start has matched the worst in franchise history. They have lost seven of nine and are a season-worst nine games behind first-place Texas in the AL West despite a payroll that swelled to $142 million after the offseason addition of 2010 AL MVP Josh Hamilton. Their only victory in this four-game series came Friday night, when Jason Vargas won 4-0 with a three-hitter.

"We have to do a much better job making pitches, getting hitters out and controlling the defensive side of this game," manager Mike Scioscia said. "We've been terrible at that."

Hammel's biggest pitch of the game was his 107th and final one, when he slipped a called third strike past Trout to strand Erick Aybar at second base and preserve a 5-4 lead. Hammel, who struck out five, is 5-0 with a 3.41 ERA in five road starts.

"I still haven't really gotten it going, and I haven't been as good as labeled, I guess. So I still have some work to do," he said. "I'm a (beneficiary) of a lot of run support right now, and the bullpen's been awesome. It's that simple."

Darren O'Day retired all four batters he faced, retiring Trout on a grounder with two runners in scoring position on a slider away in the eighth and finishing up for his first save since Sept. 8, 2009, with Texas. Orioles closer Jim Johnson, who has converted a career-best 32 consecutive save opportunities, was up and ready just in case.

"Jim better watch out. I'm coming for his job," joked O'Day, who has three saves in the big leagues. "That team over there is very talented. So for us to take three of four here is huge. We've been consistent. We might not blow your doors off, but we're going to play baseball. And we probably haven't played our best baseball yet."

Orioles first baseman Chris Davis returned to the lineup after missing Saturday's game with a knee problem. He was 1 for 4 with an RBI single in Baltimore's three-run eighth. Ryan Flaherty drove in the final two runs with a bases-loaded single against Garrett Richards.

Williams (1-1) threw 93 pitches in 4 1/3 innings, giving up five runs and four hits while striking out six and walking three.

The right-hander, who made eight appearances out of the bullpen with a 1.69 ERA, was coming off a six-inning stint last Monday at Oakland in which he allowed an unearned run from the 10th through the 15th before the Angels lost 10-8 in 19 innings. Richards was bumped from the rotation after going 1-2 with a 5.54 ERA in four starts for injured Jered Weaver.

"Two homers and three walks, that's basically it," Williams said. "Those three walks, I was around the zone. It wasn't an issue about command, it was about executing pitches."

Williams gave up an RBI double with two outs in the first by Adam Jones after a leadoff double by Nate McLouth.

"One thing I've learned over the years is that if you grind it out you're going to have a chance to come out with a W," Hammel said.

Shuck came up again with the bases loaded in the third and flied out to right, and the Orioles tied it 3-all in the fourth with a leadoff walk to Jones and a home run to left-center by Hardy -- his fifth of the season and second in two days after a 14-game drought.

Trout regained the lead for the Angels in the bottom half with his fifth home run, driving a 2-2 pitch out onto the rock pile in left-center. But the Orioles pulled ahead 5-4 in the fifth when McLouth walked and Machado homered into the second tier of the double-decker bullpen in left, where his teammates welcomed the souvenir.

"We're a great hitting team and we're all clutch," Machado said.

Game notes
Plate umpire Larry Vanover left after two innings because of concussion-like symptoms and a headache. Second base ump Manny Gonzalez called balls and strikes the rest of the way. ... The Angels stranded 11 runners. ... After homering in five of his previous six games, Mark Trumbo was back in the cleanup spot and started at 1B while No. 3 hitter Albert Pujols sat out for the first time this season. The Angels are 0-9 when Trumbo starts as the designated hitter. ... Hamilton batted in the three-hole for the first time with the Angels -- his regular spot last season with Texas -- and was 1 for 4 with a walk as his average remained at .208. ... The Orioles were 6 for 11 with runners in scoring position after going 1 for 17 in their previous two games. ... Baltimore has won a franchise-record 107 consecutive regular-season games when leading after seven innings, the second-longest streak by any team since 1961. The 1998-99 Yankees won 116 straight under those circumstances. ... Weaver, sidelined since April 8 because of a broken bone in his non-pitching arm, is scheduled to start throwing from a mound this week.