ARLINGTON -- The game dragged on for nearly four hours, thanks to a handful of defensive gaffes on both sides, an injury to an umpire, an endless stream of baserunners, some bad baserunning and a few pitchers who had trouble throwing strikes.

  • 134 wins
  • 118 wins

As far as the Astros are concerned, it was a thing of beauty.

The Astros belted out 14 hits, including four by rookie third baseman Chris Johnson, and got a workmanlike effort from starting pitcher Brian Moehler to snap the Texas Rangers' 11-game winning streak with a 7-4 victory Friday night at Rangers Ballpark in Arlington.

"It was an ugly game tonight on both sides with errors and we probably left twenty-something runs on base between the two [25], but we won and that's all that matters," said Moehler, who snapped a personal seven-game losing streak by throwing five innings.

Johnson, making his third start since being recalled from Triple-A Round Rock on Tuesday, went 4-for-5 with a double and three RBIs. Carlos Lee (3-for-4) and Geoff Blum (3-for-3) each had three hits, and Lance Berkman hit a long home run to center field in the seventh to lead the Astros to their third consecutive win.

"That's what we were trying to do every inning, get the next guy to the plate," Johnson said. "When I'm getting this playing time now I'm trying to get a good pitch to hit and not try to do too much. That's a big part of my game right now."

Considering the Rangers batted .293 with 12 homers during their winning streak, every ounce of offense the Astros managed to squeeze out of their at-bats Friday was crucial.

Houston's outburst was rather unlikely, and not just because it has one of the least productive offenses in baseball. Rangers starter Colby Lewis, who suffered the loss, had gone 3-0 with a 1.50 ERA in his previous three starts, including a two-hit, complete-game win over the Astros on Saturday in Houston.

Lewis (7-5) allowed a season-high nine hits and five runs (four earned) in five innings on Friday.

"Nothing to take away from that guy, but he wasn't the same," Lee said. "He wasn't the same guy we faced last [Saturday]. It was one of those days he didn't have a good feel for the breaking pitches and was leaving the ball in the middle of the plate. As a hitter, pitchers go through it, too. You won't always be hitting the down-and-away corner."

Moehler, making his fifth start since coming out of the bullpen, worked in and out of trouble and gave up eight hits and three runs (two earned) in five innings to win for the first time since Aug. 22, 2009, against Arizona. He held the Rangers to one hit and two runs in six innings Saturday.

"He pitched well against us last time and pitched well tonight," Rangers third baseman Michael Young said. "You'd like to capitalize on every opportunity but when a guy is making pitches like that, you've got to go up there and battle. It just didn't fall for us tonight."

Johnson is the first Astros rookie to get four hits in a game since Edwin Maysonet at May 29, 2009, at Pittsburgh.

"He's been doing that at Round Rock and that's the reason he's here," Astros manager Brad Mills said. "It's not just the hits, it's the at-bats. He's been having good at-bats and that's good to see. He's making adjustments from pitch to pitch, and that's pretty good."

Johnson gave the Astros a 2-0 lead with RBI hits in the second and fourth innings, but the Rangers scored once in the fourth and twice in the fifth to take a 3-2 lead. Texas sent seven batters to the plate in the fourth and eight to the plate in the fifth, but Moehler avoided further damage by stranding the bases loaded each time.

"He's a bulldog out there and is going to battle his tail off," Blum said. "It may not be pretty and may not be as efficient as we wants it to be, but as long as he's getting guys out and keeping us in ballgames, that's what we appreciate about him."

Lee, Hunter Pence and Blum began the sixth with consecutive doubles to chase Lewis, and all three scored to give the Astros a 5-3 lead. Pence drove in Lee, Blum drove in Pence, and Blum scored on a play in which the Rangers made two throwing errors.

"They're built to score runs in this ballpark," Blum said. "Our pitching's been doing really well, but Moehler held them down for as long as they could and then our bullpen came in and did a great job. We didn't need to score seven, but it worked out."

Berkman hit a 422-foot homer to center field with one out in the seventh, and Johnson added an RBI single to make it 7-3. Mills pieced together four relief pitchers to preserve the lead, with Gustavo Chacin giving up a run while striking out three batters. Wilton Lopez and Chris Sampson pitched scoreless innings, and Matt Lindstrom got his 18th save and third in as many days.

"You can't say enough about Moehler," Mills said. "He pitched like a veteran and made pitches when he had to and got out of some jams. That was pretty special. And the guys swung the bat real well. Chris Johnson swung the bat extremely well and Carlos swung the bat well and Blummer swung the bat well, and Lance crushed that one ball. It was nice to see those guys really put some good at-bats together and score some runs and get some hits."