Johnson didn't play in the preseason opener and had less than a quarter of work last week. On Sunday, he grabbed seven of the eight passes thrown to him, highlighted by a 39-yard reception.
Matt Schaub was 15 of 26 for 213 yards for Houston (2-1), and Ben Tate ran for 74 yards and a score filling in for Arian Foster.
Drew Brees was four of six for 104 yards and a touchdown for the Saints (3-0) before sitting down after the third possession. With Marques Colston still sitting out with a left foot injury, rookie fifth-round pick Kenny Stills continued to impress with 54 yards receiving and a touchdown.
Backup Luke McCown came in with 8 eight minutes left in the second quarter. He finished with 118 yards and two touchdowns.
Andy Tanner had 33 yards receiving with two touchdown receptions in the second half for New Orleans.
Tate piled up 51 yards on Houston's second drive, with the highlight coming on a 39-yard run when he darted to the outside and cut back in for the big gain. He capped it with a 1-yard run that gave Houston a 7-0 lead.
Schaub was sacked by Cameron Jordan when he manhandled Derek Newton on third down on Houston's next possession and the Texans settled for a 48-yard field goal from Randy Bullock.
Johnson beat his coverage and was wide open for the 39-yard reception in the second quarter. Schaub was sacked after that and Houston's offense stalled before Bullock made it 13-7 with a 55-yard field goal.
The Saints couldn't get much going on offense in their first two drives. Willie Jefferson got his hands on Brees in the end zone on the third play of their first drive. But before he could bring him down, the quarterback got off a pass that fell incomplete.
Keshawn Martin returned the punt for a touchdown, but it was called back because of an illegal block by Brandon Harris.
Brees was sacked by Jared Crick to force a punt and end the next drive. The Saints finally started clicking after that.
Brees found Pierre Thomas on a short pass and linebacker Joe Mays was there to make the tackle, but Thomas wriggled free and dashed for a 51-yard touchdown to cut the lead to 10-7 early in the second quarter.
The Saints got that drive going on another catch and run when Brees finessed a short floater to Mark Ingram which he turned into a 29-yard gain.
McCown's first drive ended with a 51-yard field goal by Garrett Hartley that cut Houston's lead to 13-10.
Stills grabbed a 40-yard pass over Kareem Jackson on third-and-6. Stills finished the drive four plays later when he beat Johnathan Joseph to get wide open on the end zone for a 14-yard touchdown reception to put New Orleans up 17-13.
Harris was called for his second costly penalty of the game on a 40-yard pass interference call on the first play of the second half. New Orleans took advantage of the penalty when McCown found Tanner for an 8-yard touchdown strike to make it 24-16.
T.J. Yates threw an 11-yard touchdown pass to Alec Lemon to get Houston to 24-23 late in the third quarter. Tanner's second touchdown grab pushed the Saints' lead to 31-23 in the fourth.
Houston played without defensive end Antonio Smith, who served the first game of a three-game suspension for hitting Miami guard Richie Incognito with the Dolphins player's helmet last week.
Smith ripped the helmet off Incognito's head, then hit Incognito on the shoulder with it Aug. 17. Fellow Houston defensive end and the 2012 defensive player of the year J.J. Watt also sat out for the Texans.
Tate got another start despite Foster returning to practice this week for the first time since May after dealing with calf and back injuries. Coach Gary Kubiak has said that Foster could start in Houston's opener Sept. 9 without get
For an in-depth analysis of today's game, watch "Inside the Game" with Eyewitness Sports Director Greg Bailey and Spencer Tillman tonight at 10:35, right after Eyewitness News at 10pm.
And we want to see your Texans fan photos. Send them to email@example.com.
Take ABC13 with you!
Download our free apps for iPhone, iPad and Android devices