GLENDALE, Ariz. -- Arizona quarterback Carson Palmer knows what his team's personality has become.
And it has nothing to do with his side of the ball.
"We're a tough, grind-it-out defensive team," he said.
That was apparent on the first play from scrimmage against Houston on Sunday, when the Cardinals forced a fumble and returned it for a touchdown.
It was a sign of what would come in the second half.
The Cardinals turned up the defensive pressure and sent the Texans to their franchise-record seventh straight loss, 27-24 Sunday. Palmer threw two touchdown passes and Arizona held on despite a late fumble.
The Texans (2-7) were without coach Gary Kubiak, who collapsed on the sideline against Indianapolis last Sunday night with what was diagnosed as a mini-stroke. Defensive coordinator Wade Phillips is filling in as interim coach.
"All in all it seems like the same theme," Phillips said. "Team is playing tremendously hard but not enough plays. One play here, one play there, and they really dominated us in the second half on their defensive side of the ball."
Arizona (5-4) got off to a quick start when linebacker John Abraham knocked the ball out of quarterback Case Keenum's arm and Matt Shaughnessy returned it 6 yards for a touchdown only 14 seconds into the game.
The Texans led 17-14 at the break, but managed just 41 yards in the final two quarters
"As a defense, we just told ourselves `17 is the max," linebacker Karlos Dansby said. "`No more points to be scored. Let's play nasty, let's play dirty."
Keenum threw three touchdown passes, two on remarkable catches by Andre Johnson.
J.J. Watt forced two fumbles, recovering both of them for Houston. The second one set up Johnson's 5-yard TD catch that cut the lead to three with 4:34 to play.
"We made good adjustments," Arizona coach Bruce Arians said of the second half. "The running game was kind of gone. We felt if we could get them in a one-dimension game we could get after the quarterback, and we were able to do that."
Palmer completed 20 of 32 for 241 yards. Keenum was 22 of 43 for 201 yards no interceptions, but was just 7 for 17 for 42 yards in the second half.
Arizona reeled off 13 consecutive points and Palmer's 19-yard touchdown pass to Andre Roberts put Arizona up 27-17 with 6:42 to play.
The Cardinals, coming off a bye, had trouble holding on. Rashard Mendenhall was stripped of the ball by Watt in a crowd on a run up the middle and the standout Houston lineman recovered at the Arizona 5.
On third down, Johnson gathered in Keenum's pass and was able to get both feet inbounds for the touchdown. He had scored on a similar catch in the first quarter.
"Those were two of the best catches I have ever seen in my life," Keenum said. "You can't even describe it. You have to watch it to see how awesome those catches are. `'
Houston got the ball back with just over two minutes to play but, at third-and-3 at the 35, Keenum threw two incompletions. Jerraud Powers knocked the ball away from receiver DeAndre Hopkins on fourth down to seal the win.
After his first-play miscue, Keenum completed 4 of 4 for 44 yards in an eight-play, 49-yard drive. Johnson got his left foot down then barely dragged his right foot inbounds on a 7-yard touchdown catch and it was 7-all.
Arizona regained the lead with its only touchdown drive of the first half. Recently signed tight end Jake Ballard had a 15-yard catch, his first reception since 2011, and Rob Housler got his first pro touchdown catch on a 12-yard screen pass to put the Cardinals up 14-7 with 13:57 left in the half. It was Palmer's 200th career touchdown pass.
But Keenum responded, going 5 for 6 for 55 yards in a nine-play, 80-yard TD drive. Keenum threw 2 yards to wide open tight end Ryan Griffin for the touchdown that tied it at 14-14 with 9:37 left in the half.
Arizona was pinned deep in its own territory after the subsequent kickoff and Palmer tried to throw long to Housler. But D.J. Swearinger intercepted, setting up Randy Bullock's 48-yard field goal that gave Houston its first lead, 17-14, with 6:31 to go in the half.
Arizona committed another turnover late in the second quarter.
With less than a minute left in the half, Watt knocked the ball out of Palmer's hands and recovered at the Cardinals 22. Houston couldn't move it from there, and Justin Bethel blocked Bullock's 40-yard field goal attempt. Bethel has two blocked field goals this season.
Arizona tied it at 17 on Jay Feely's 35-yard field goal with 6:06 left in the third quarter.
Palmer's 26-yard pass to Housler gave Arizona a first-and-goal at the Houston 5 in the final seconds of the third quarter. Feely's 21-yarder put Arizona back on top 20-17 entering the fourth quarter.
The Texans were without running back Arian Foster and won't have him the rest of the season after he decided to undergo season-ending back surgery. During the game, Houston lost starting cornerback Kareem Jackson (ribs), Griffin (concussion) and backup cornerback Elbert Mack (hamstring). ... Arizona lost wide receiver Michael Floyd in the first half with a shoulder sprain.
ESPNDallas columnist Jean-Jacques Taylor and NFL Nation reporter Todd Archer discuss what Randy Gregory needs to do to have a long future with the Cowboys, plus a Dez Bryant-Russell Westbrook comparison.
ESPN Bears reporter Jeff Dickerson discusses how Kevin White looked in Chicago's OTA on Wednesday.
ESPN Redskins reporter John Keim says Preston Smith and the defense, including safety DeAngelo Hall, had a big day against the offense Wednesday.
ESPN Browns reporter Pat McManamon explains that perennial Pro Bowl tackle knows the wear and tear on his body; if he needs a day off in OTAs and during the season, Cleveland Browns are wise to give it to him.
DeSean Jackson has missed too many voluntary workouts to collect his $500,000 bonus, but Washington isn't concerned about his absences.
Indianapolis Colts quarterback Andrew Luck tried his hand at auto racing on Wednesday, doing a few laps with former Indy 500 champion Mario Andretti.