Timely hitting, an improved performance by Luis Perdomo and a stellar outing by their bullpen allowed them to do just that to get a 4-1 victory, ending Houston's five-game winning streak.
"The message we sent coming in here was: `We've got to be on top of our game or we could just flat-out get embarrassed by these guys," Padres first baseman Eric Hosmer said. "So I think it was a good message. I think the urgency from the club was there and I think that's what we've got to get good at is being consistent at bringing that type of energy and coming to play like that every single day."
Jose Pirela had three hits, including a tiebreaking, two-run double in the fifth inning that helped the Padres to the interleague win.
Hosmer, who has an 11-game hitting streak in Houston, hit a two-out double in the ninth off Ken Giles and scored on a double by Villanueva.
The Astros had just four hits -- all singles -- after piling up 18 runs and 28 hits in a three-game sweep of Baltimore. San Diego's pitchers retired 16 straight batters before Marwin Gonzalez walked with one out in the ninth.
"Very quiet. Pretty quiet night all around," manager A.J. Hinch said of Houston's offense. "We couldn't piece too many things together. They obviously got some match-ups and pitched their game plan pretty well."
Luis Perdomo (1-1) bounced back from a tough outing in his first start to yield one run and four hits in five innings. He allowed a single to Evan Gattis starting Houston's fourth before retiring the next six batters. Jordan Lyles, a first-round pick by the Astros in 2008, took over in the sixth and sat down the next six Astros, with four strikeouts, before Kirby Yates struck out two in a scoreless eighth. Brad Hand walked one in a scoreless ninth for his second save.
"For us any win's good right now," manager Andy Green said. "We want to get rolling, want to get in the win column. For me today, our pitching was outstanding. Perdomo, much better than his first time out. That's a tough lineup, a tough lineup to navigate for everyone. He threw the ball incredibly well."
McCullers allowed three runs, seven hits and three walks in five innings in the first meeting between these teams since 2015 and San Diego's first visit to Houston since 2012.
Carlos Correa had an RBI for the Astros.
There were two on and one out in the first after Pirela singled and Hosmer walked. An error by McCullers allowed both runners to advance before he struck out Villanueva. The Padres took a 1-0 lead when Pirela scored and Hosmer took third on Brian McCann's passed ball.
Astros: 1B Yuli Gurriel, on the disabled list after breaking his hand in February, went 2 for 4 as the designated hitter in his second rehabilitation game with Double-A Corpus Christi.
Padres: Villanueva was shaken up in the seventh inning when he was plunked on the left wrist by Collin McHugh. Villanueva fell to his knees and remained there for a couple of minutes while Green and a trainer checked him out. Villanueva remained in the game.
THEY SAID IT
Perdomo on if he feels like he's pitching for his job right now: "I think so. I think every time going out there, I have that mentality. If I'm not going out there to pitch for my job or to make sure I keep it, then what am I doing?"
Bryan Mitchell (0-1, 9.00 ERA) will start for San Diego in the second game of this three-game set on Saturday. He'll look to bounce back after allowing five runs and eight hits in five innings of a 7-4 loss to Colorado. Houston starter Gerrit Cole (1-0, 1.29) allowed one run and two hits with 11 strikeouts in an 8-2 win over Texas in his Astros debut on Sunday.
More AP baseball: https://apnews.com/tag/MLBbaseball
Fantasy baseball daily notes: Pitcher and hitter rankings for Sunday
Prepare your fantasy baseball lineups confidently with our daily preview, including pitcher projections, hitter matchup ratings and more.
Fantasy baseball forecaster for Week 12: June 21-27
Set your lineups for the week ahead in fantasy baseball with our forecaster preview, which features pitcher rankings, two-start pitchers, hitter ratings, schedule observations and more.
Fantasy baseball forecaster: Team hitting ratings
Stay ahead of the game and optimize your fantasy baseball hitters with our forecaster, which provides a rolling 10-day outlook of every team's hitting matchups as well as the potential for stolen bases.
Fantasy baseball forecaster: Pitcher projections for the next 10 days
Keep up to date on who is pitching -- and how well they're expected to do -- with our forecaster, which provides a rolling 10-day outlook of every team's probable starting pitchers with game score projections.
What's wrong with the Braves -- and can they fix it?
The preseason NL East favorites have been stuck in a season-long slump. We debate what's bringing them down and how they can get back on track.
Colorado's Tapia puts 16-game hit streak on the line against Brewers
Milwaukee Brewers (39-32, second in the NL Central) vs. Colorado Rockies (30-42, fourth in the NL West)