Will Venable had his first career pinch-hit with a two-out double to right field to score Chase Headley, who singled to lead off the seventh inning and advanced to second on a sacrifice bunt.
"I lucked out because I missed a pretty good pitch the one before ... a 2-1 fastball that I fouled back. It was one of those that you can't miss," Venable said. "Luckily, after that, I ended up getting a slider down. It was a pitch that I think I can handle well. I'm glad it fell in there."
Outfielder Tony Gwynn tied the game at 3 when he singled to score Venable and then advanced to second on the throw home. Eckstein drove in the go-ahead run with a single to score Gwynn. All three of the Padres' seventh-inning runs came off Houston reliever Chris Sampson (4-1).
"Once you feel like you're getting on a roll, you just try to be a part of it," Eckstein said of his RBI single.
Venable said the comeback pressure was certainly heightened without having Gonzalez in the lineup.
"Anytime anyone goes down or comes out of a game, you kind of cringe," he said. "But with him, he really puts the load of the offense on his back. I think from everyone there was just a little more sense of urgency to get the job done."
Gonzalez injured his leg sliding into third base after he tripled to score Scott Hairston in the fourth inning. Gonzalez has appeared in 283 consecutive Padres games, dating back to August 2007. The full extent of his injury will not be known until a reevaluation Wednesday morning.
When approached by reporters after the game, he feigned a look of surprise.
"I hardly even played," he joked. "We'll find out tomorrow, we'll see when I wake up. It wasn't the best slide. I kind of slid over top of my other leg. "
Padres starting pitcher Josh Banks, making his first start of the season, allowed three runs on five hits in seven innings of work. He struck out four and walked one.
Banks (1-0) ran into his only major trouble of the night in the third inning. Miguel Tejada doubled to score Michael Bourn, who singled in the prior at-bat. Lance Berkman then hit his 17th home run of the season to score Tejada and give Houston a 3-0 lead.
"I just left a couple of balls up here and there," Banks said. I just tried to get the next couple of outs and try to keep it as close as I could."
Banks then retired the next two batters to end the inning and escape further damage.
"Banks did a great job of just holding them to three and giving us a chance," Eckstein said. "It could have easily been six, but he kept it at three. He gave us a chance to come back."
The Padres' pitching staff now has four consecutive quality starts.
"It's nice to have a run of good starts," said Padres manager Bud Black. "The challenge with guys in the rotation is to sustain it."
Padres closer Heath Bell tossed 1 1/3 innings to earn his 22nd save of the season, tying him for the Major League lead.
Bell relied on an impressive catch by Gwynn in right field for the final out of the game on a line drive by Bourn.
"His catch was unbelievable ... loved it," Bell said. "I got [Bourn] to hit it right at him. [Gwynn's] got great reflexes. That's why he's in right. He can catch anything."