Lance Berkman had an RBI double for the NL Central-leading Astros, who took a 3-1 lead on Bagwell's 22nd homer in the sixth.
Jeff Kent, the next batter, objected to a strike call by plate umpire Matt Hollowell and was ejected with two strikes.
Kent had to be restrained, and Astros manager Jimy Williams rushed out and was ejected as well.
Before leaving the field, Williams kicked dirt on home plate and shook his index finger in Hollowell's face to the delight of the sellout crowd of 42,679.
Morgan Ensberg took the third strike for Kent, who was ejected for the first time this season. It was Williams' second ejection of the year.
Redding (7-9) did not allow a hit until Aramis Ramirez's 400-foot triple to the hill in center field with one out in the
fifth. Craig Biggio tried to run up the hill to catch the ball and fell down as Ramirez went into third standing.
Ramirez scored on a two-out error by third baseman Geoff Blum,
cutting Houston's lead to 2-1.
Ramirez also singled in the seventh off Redding, who allowed one unearned run, struck out four and didn't walk a batter.
The Astros scored in the first inning for the second straight game, getting two runs off Juan Cruz (1-4), who made his first start of the season after 18 relief appearances.
Biggio singled to center to open the game. After Blum walked and Bagwell grounded out, Kent's RBI grounder scored Biggio and Berkman's double made it 2-0.
Cruz went six innings. He allowed four hits, three runs and three walks, striking out five.
Biggio reached base for the 30th consecutive game, the longest active streak in the NL. ... In 14 games at Minute Maid park with Chicago, Moises Alou is hitting .350 against his former team with 13 RBI and five extra-base hits.