BALTIMORE -- The rain was intensifying, and the Baltimore Orioles knew it wouldn't be long before umpires called for a tarp to cover the sloppy field.

So, down by a run in the sixth inning, the Orioles switched to beat-the-rain mode and used the elements to their advantage in a 4-3 victory over the Los Angeles Angels on Monday night.

The teams played for 2 hours, 23 minutes and endured a rain delay that lasted 2:14. Immediately before that stoppage, Baltimore made the plays that won the game.

With the score tied at 2 in the bottom of the sixth and the grounds crew poised to leap into action, Nate McLouth led off with a bunt off Jered Weaver (1-2) and promptly stole second.

"I figured I had a good chance of laying one down there, and with the soaking wet field, that certainly helped," McLouth said. "When I got on there, it was wet, but I wanted to try to get in scoring position as quick as I could. It's tough to receive a ball and throw in those conditions, too. So I took that chance, and it ended up working out."

After Chris Davis hit a swishing grounder to shortstop Erick Aybar for a force at second base, umpire Joe West finally halted play.

"It wasn't raining too hard to play when we stopped," West said. "The field was getting unplayable. And that's why we stopped."

Too late for Weaver.

"That's some of the toughest weather I've ever had to pitch in in a little while," the right-hander said. "It's kind of a guessing game. You don't know whether they're going to stop it or going to call it. At the same time, both teams have to pitch through it and hit through it. It was a little messy out there, but no excuses. They were able to get a couple in that sixth inning and that was the difference in the game."

Los Angeles had tied it in the top of the sixth on a home run by Hamilton. Mike Trout also homered for the Angels, who have lost three straight to fall 10 games under .500 (27-37).

Making his fifth start since his recovery from a broken left elbow, Weaver gave up four runs and six hits in 5 2/3 innings. He was 4-0 with a 1.82 ERA in his previous four starts against Baltimore.

"For the most part, it wasn't too bad," he said. "But there were some times you'd throw a pitch and get it back and the ball was already wet. It didn't even have to hit the infield."

Jones homered and drove in three runs to help the Orioles improve to 4-1 against the Angels this season.

"The sixth inning was big because they tied it in the top half," Jones said. "For us to fight and get two runs off Weaver in that situation was very important, especially with what happened with the rain."

Los Angeles closed to 4-3 in the seventh on Hamilton's RBI grounder off Tommy Hunter, but Darren O'Day worked a scoreless eighth and Jim Johnson got three straight outs for his 22nd save.

Freddy Garcia (3-3) allowed two runs, six hits and a walk over six innings for the Orioles. The 36-year-old improved to 17-3 lifetime against the Angels, 7-0 since the start of the 2005 season.

Trout put the Angels up 1-0 in the third inning with his 11th home run, the first in 72 at-bats since May 23. He didn't hit No. 11 last year until July 6.

Weaver retired 10 of the first 11 batters he faced before Markakis drew a one-out walk in the fourth and Jones followed with his second homer in two games.

In the sixth, however, Hamilton tied it with a drive over the right field scoreboard. It was his ninth homer of the season, the first in 13 games.

Game notes
The Angels activated Peter Bourjos (hamstring) from the 15-day DL and designated INF Chris Nelson for assignment. ... Orioles 2B Brian Roberts (hamstring) is working out with the team and hopes to return soon. "I don't think we have a timeframe, but we're certainly in the homestretch," he said. Also, OF Nolan Reimold (hamstring) could begin a rehabilitation assignment by the end of the week, manager Buck Showalter said. ... Baltimore 2B Alexi Casilla jammed his index finger Sunday and did not play Monday. ... Miguel Gonzalez (3-2) starts for Baltimore on Tuesday. The Angels will start Jason Vargas, who blanked the Orioles in Anaheim on May 3. ... Trout has seven career HRs against Baltimore, tied for his most against any club (also Texas).