The 31-year-old will start for Houston on Opening Day against the Yankees on April 1 at Minute Maid Park, manager Bo Porter announced on Monday. It will be Feldman's first Opening Day start.
"You look at his track record and the fact he's a former 17-game winner and the fact that he gives us a great opportunity to win a ballgame each and every time he takes the mound," Porter told MLB.com. "He's a strike-thrower, he's a competitor."
Feldman signed a three-year, $30 million contract with the Astros in December.
Bud Norris, Houston's Opening Day starter last year, was traded to Baltimore in July.
Feldman, who is 6-foot-7, was 12-12 with a 3.86 ERA in 30 starts last season for the Cubs and Orioles. Before that, he pitched eight seasons for the Rangers. He is 51-56 with a 4.62 ERA in 234 career appearances, including 131 starts.
The Astros' pitching staff had a league-worst 4.79 ERA last season.SI WIRE: Orioles 3B Manny Machado could miss Opening Day after injury setback