Park (4-1) allowed six hits, struck out two and didn't issue a walk. He went at least six innings for the fifth time this season, helping the Rangers (24-20) move four games over .500 for the first time this season.
With temperatures in the upper-90s, Park had to contend with cramps in his upper hamstring before the seventh. After the game, he needed an IV to replenish fluids.
"This was not an easy day for pitching, but it was a great outing for me," Park said.
Rangers manager Buck Showalter and trainer Jamie Reed visited the mound before the seventh and watched Park throw a few warmup pitches. Showalter decided to leave Park in the game for another inning, and he retired the side in order.
"He was cramping up pretty good," Showalter said. "It was a gutsy effort."
Park got some advice on handling the heat from teammate Chris Young, who lasted five innings Saturday against the Astros.
"He told me to drink a lot of water the night before I pitched and before the game," Park said. "After each inning, I kept drinking. I have a history of cramps and today was pretty hot. But I like the warm weather more than the cold weather."
Teixeira said the sweltering heat causes problems for all players.
"Honestly, the hardest part is sweating so much," he said. "Your hands get sweaty, your bat's sweaty, at the plate, sweat is getting in your eyes. Throwing the ball across the field, it could be slick."
The Astros lost their fifth in a row despite another strong start from Roy Oswalt and fell to 2-19 on the road, worst in the major leagues.
"Roy pitched a beautiful game but we couldn't push a run across," manager Phil Garner said. "I thought we'd bust loose today and put some runs on the board. I hate losing, I don't care how it happens."
Brian Shouse threw a perfect eighth, and Francisco Cordero struck out three in the ninth for his 14th save in 16 chances to finish Texas' third shutout of the season. After two walks, Cordero fanned Morgan Ensberg with two on to end it.
The Rangers hit a club-record eight homers in Saturday's 18-3 rout, but Texas got only one on Sunday.
Teixeira's solo shot in the sixth off Oswalt (5-5) extended the lead to 2-0.
Oswalt, who beat the Rangers in his last three starts against them, gave up two runs and eight hits in 7 2/3 innings. He struck out six and didn't walk a batter, throwing 120 pitches.
"It's been a rough two, three weeks," said Oswalt, who lost for the first time to Texas. "We're not getting key hits. As a starter, all you can do is go out and try to keep it close."
David Dellucci had three hits for the Rangers, and Teixeira made two key defensive plays at first base.
Houston put three runners on third base, but the Astros were shut out for the seventh time this season, most in the majors.
The Rangers got a run in the first when Dellucci led off with a triple and scored on Michael Young's groundout.
The Astros wasted a prime scoring chance in the first when Orlando Palmeiro and Todd Self led off with singles to put runners at first and third. But Park struck out Craig Biggio, and Palmeiro was tagged out in a rundown after Lance Berkman's grounder to Teixeira.
Park got out of the inning when left fielder Kevin Mench made a running catch of Mike Lamb's line drive.
"We've got to get at least one there," Biggio said. "That's a big run for Roy. I sure hope we can turn it around. There's still good talent in this clubhouse."
Houston threatened again in the sixth when Self doubled and went to third on a groundout. Berkman hit a sharp grounder that appeared headed into right field for a tying single, but Teixeira made a diving stop and threw to Park covering first to preserve the 1-0 lead.
"I was just focusing on one hitter at a time, especially when they had men in scoring position," Park said. "I got a couple of great catches and a nice home run to help me out."
- Palmeiro started in center field for the first time this season. Self got his first career start in right.
- Young grounded into his eighth double play this season.
- The Rangers have won four straight against the Astros and eight of the last 12 in the Lone Star Series.