"Omar has been great all year long," Marlins manager Ozzie Guillen said. "He's the most steady player we have on the field right now. He's consistent. It was a big hit for us. The right guy was in the right place at the right time. He's been clutch for us since Opening Day."
Said Carpenter: "I made the pitch I wanted, but it was off the plate and he was able to put the barrel on it. I wish it would have been down a little bit more and maybe get a ground ball, but he's a good hitter, he's a Major League hitter and he did what he's supposed to do with it."
Johnson gave up just four hits and two earned runs in chasing after his first win of the season, and first since April 19, 2011, as well as his first win against the Astros in five appearances.
The ace was coming off the shortest start of his career, lasting only 2 2/3 innings in San Diego on Friday.
But that seems like a distant memory now after helping the Marlins complete their most successful road trip in franchise history. Miami won eight of the nine games, which included three-game sweeps in San Francisco and San Diego. The club settled for two of three games in Houston, taking the first and third while adding to the franchise's best start (8-1) for the month of May.
"I was just relaxed out there," Johnson said. "I've been trying to maybe muscle up and try and make pitches that way. But I was just relaxed and got myself calmed down. Watching [Carlos Zambrano on Monday] helped. I saw him, every time he made a bad pitch, he'd come out there, calm down and relax. It definitely helped out."
It didn't even matter that he took a no-decision because Houston tied it at 3 in the ninth off reliever Steve Cishek on a triple by Carlos Lee and a two-out, two-strike RBI single by Houston right fielder Brian Bogusevic.
"We got the win," Johnson said. "That's all that matters. It was an unbelievable road trip. I feel like we've been on the road for the last month now. Maybe we can go back home and start something there and keep winning ballgames."
Miami hit five homers in the first two games of the series, accounting for all of its runs. The Marlins went small ball on Wednesday, scoring one run without the benefit of a hit, two more on three fourth-inning singles and then Infante's game-winning two-run single.
The Marlins had 11 hits, 10 of them singles.
Ironically, the only extra-base hit was a sixth-inning double by Emilio Bonifacio -- his first extra-base hit of the season.
"We've got to do the little things," Guillen said. "We cannot rely on home runs, because that's not the game we're going to play all year long. We hit home runs -- good -- but our game is to make sure we're aggressive on the bases. Steal a couple of bases here and there and get the big hits."
Guillen said that besides the win, he was most pleased with the pitching performances of Johnson and Heath Bell, who worked a scoreless 10th inning.
"To me that was very important," Guillen said. "We need these guys to go out there, have some success and win some ballgames. Our bullpen did great. We never given in. That's a good sign."
Five pitchers combined for five innings of four-hit, one-run relief. Ryan Webb (2-1), who lost Tuesday's game late, came back to pick up the win Wednesday with 1 1/3 innings of no-hit work. He struck out one.
"That's part of being a reliever," Webb said. "Short-term memory, you screw up yesterday and have an opportunity to come back today. It feels good, especially going into an off-day.
"We finished the road trip in a good fashion. The team is pumped. We feel great. It's going to be a good off-day."
Webb got the loss Tuesday and Infante made the key error. Both redeemed themselves a day later.
"That's what baseball is all about," Webb said. "It's bouncing back. It's cliché, but there's 162 games and screw-ups are going to happen. It's not going to fall your way every time."