The left-handed Happ and the Astros reached a deal Tuesday for $2.35 million. He made $474,000 last season.
Happ had a tough year in 2011, going 6-15 with a 5.35 ERA in 28 starts. He improved at the end of the season and was 2-1 with a 2.43 ERA in his last six starts.
The 29-year-old Happ was acquired from Philadelphia as part of the deal for Roy Oswalt. He is 25-24 with a 4.00 ERA in 88 career appearances.
With the signing of Happ, shortstop Jed Lowrie is Houston's only unsigned, arbitration-eligible player.