Oberholtzer (2-0), who hurled seven shutout innings against Baltimore in his initial big-league start Wednesday, repeated the performance against the Red Sox, scattering four hits.
The 24-year-old left-hander walked two and struck out two en route to becoming the first pitcher to throw seven or more shutout innings in each of his first two starts since Marty Bystrom did so for the 1980 Philadelphia Phillies.
Robbie Grossman and Brandon Barnes each provided an RBI for the Astros, who snapped a four-game skid.
John Lackey (7-9) struck out 10 but yielded a pair of runs on eight hits over six full innings for the first-place Bosox, whose lead over Tampa Bay in the American League East dwindled to one-half game.
'SNL': 'Anchorman 2' cast, One Direction sing 'Afternoon Delight' [VIDEO]
Reindeer recovered after escaping from Santa during lighting ceremony