From there, the Cardinals had little trouble remembering how to win again.
Edmonds homered in the first inning, and Sanders and Larry Walker also connected for the Cardinals.
St. Louis rallied from a 3-2 series deficit against Houston to win the NL pennant last October but never held a lead after that, getting swept by Boston in the World Series.
In this one, the Cardinals went ahead 3-0 on Edmonds' drive and never trailed, ending Houston's 18-game, regular-season home winning streak, the longest in the major leagues since Cleveland won 18 in a row at Jacobs Field in May and June 1994.
Chris Carpenter, who missed the postseason because of nerve damage in his right biceps, won by allowing one run and four hits in seven innings.
"He was excellent. He did all the things a pitcher has to do to be successful," Cardinals manager Tony La Russa said. "He got off to a good start tonight."
Al Reyes, Julian Tavarez and Ray King followed, and Jason Isringhausen retired Adam Everett on a bases-loaded grounder for the save.
Shortstop David Eckstein, second baseman Mark Grudzielanek and catcher Yadier Molina, three newscomers to the St. Louis lineup, went a combined 2-for-12 with three strikeouts.
But St. Louis had more than enough offense. Edmonds had four RBI, and Walker went 2-for-4 with a solo homer in the seventh.
For Edmonds, it was yet another chance to torment the Astros: He hit the game-winning homer in the 12th inning of Game 6 last October.
"Some teams ... you have their number. And some teams you don't," Sanders said. "Jimmy definitely has Houston's number."
Houston has a new look following an offseason of attrition. All-Stars Jeff Kent and Carlos Beltran departed in free agency, and All-Star right fielder Lance Berkman tore up a knee playing flag football and began the season on the disabled list.
That forced the Astros to start two rookie outfielders on opening day for the first time since 1986.
Making his third straight opening-day start, Roy Oswalt looked nothing like the guy picked to start over seven-time Cy Young Award winner Roger Clemens.
Oswalt, the NL's only 20-game winner in 2004, gave up six runs and seven hits in six innings.
"I felt pretty well, but in between innings I felt pretty stiff," Oswalt said. "I think I had too much adrenaline going. I'm not happy about losing, but it's a long season."
Oswalt gave up a one-out single to Walker in the first, a two-out infield hit to Scott Rolen and Edmonds' homer on a fastball driven deep into the left-field seats.
Albert Pujols led off the sixth with a single, Rolen doubled and Edmonds hit a sacrifice fly. Oswalt struck out Grudzielanek, then gave up a two-run homer to Sanders, which put St. Louis ahead 6-1.
Craig Biggio had three hits and three RBIs for the Astros. Biggio also fielded well at second base, a position he played in Houston for 11 years before moving to the outfield two years ago to make room for Kent.
"It's fun to be back at second base," Biggio said. "I made some double plays with Adam (Everett), and I enjoyed that. No doubt I still had butterflies."
- The Astros' rookie outfielders were LF Luke Scott and CF Willy Taveras. In 1986, it was Eric Bullock and Tony Walker. Taveras and Scott combined to go 1-for-6, with Taveras scoring a run in the third.
- Oswalt had won four straight decisions against St. Louis dating to September 2003.
- The attendance of 43,567 was the third-largest crowd in Minute Maid Park history. The park's two biggest crowds came Oct. 3-4, 2001, against San Francisco.