GLENDALE, Ariz. -- If the Houston Texans didn't think they could fall any further, they found out Sunday that they could.
The Arizona Cardinals got two touchdown passes from quarterback Carson Palmer, scored a defensive touchdown and blocked a field goal while holding off the Texans 27-24 at University of Phoenix Stadium.
Quarterback Case Keenum threw three touchdown passes for Houston, including two highlight-reel connections with wide receiver Andre Johnson, but it wasn't enough. The Texans (2-7) lost their seventh consecutive game -- the longest losing streak in franchise history.
"Thank you for that note there -- franchise record," interim head coach Wade Phillips said, sarcastically. "It's obviously upsetting to all of us. But this team is going to stick together, I can tell you that. They're going to come back and work hard and try to do the right things to change."
Already without head coach Gary Kubiak following his collapse last Sunday night upon suffering a mini-stroke, the Texans also learned they would be without running back Arian Foster for the remainder of the season as he prepares to have surgery to repair a bulging disk in his back.
Foster was ruled out of the Arizona game on Friday.
The Cardinals (5-4) earned their second consecutive win, and they remain in the hunt for an NFC wild-card playoff spot.
"That's where we wanted to be," Cardinals coach Bruce Arians said. "Coming out of the bye week, we wanted the chance to be in the hunt. I think we are in the hunt, and we will just see how they fall each week."
Palmer completed 20 of 32 passes for 241 yards. He was intercepted once and lost a fumble when he was stripped and sacked by defensive end J.J. Watt, but he was effective.
Arizona outgained Houston 332-235 and held the Texans to seven second-half points.
"In our minds, we were never out of the playoff hunt, ever," Palmer said. "We are a tough, grind-it-out, defensive team. I think that is our M.O. We keep believing. We've won a lot of games in the fourth quarter and hung around long enough to find ways to win games."
The Cardinals grabbed a 7-0 lead on the first play from scrimmage when linebacker John Abraham sacked Keenum deep in Houston territory, causing Keenum to lose the ball. Arizona linebacker Matt Shaughnessy picked it up and returned it 6 yards for his first career touchdown.
It was the 20th turnover forced by Arizona's defense this season.
Palmer went 5-for-5 for 60 yards in directing a touchdown drive on the Cardinals' second possession. He capped it by completing a 12-yard pass to Rob Housler for the third-year tight end's first NFL touchdown.
"I've been waiting awhile to get in the end zone, and it's sure good to get in there," Housler said.
The Texans stayed squarely in the game, though. Keenum found Johnson for a 7-yard scoring pass in the first quarter, and he hit tight end Ryan Griffin for a 2-yard touchdown in the second quarter.
Johnson did a remarkable job keeping both feet in bounds during his touchdown grab, dragging his right foot before falling out of the end zone with cornerback Patrick Peterson there to defend.
After the Cardinals took a 27-17 lead in the fourth quarter on Palmer's 19-yard fade pass to wide receiver Andre Roberts, Johnson came up with another acrobatic catch for his second touchdown and fifth in the past two weeks.
Arizona running back Rashard Mendenhall had the ball stripped and taken away by Watt, giving the Texans the ball at the Cardinals 5-yard line. On third down, Keenum threw high toward Johnson, who outreached Peterson in the end zone and once again, somehow found a way to keep both feet in bounds for the score.
"Those were two of the best catches I've ever seen in my life," Keenum said. "Those were incredible. I can't even describe it. You have to watch it to see how awesome those catches are."
Johnson's second touchdown pulled the Texans to within 27-24 with 4:34 left in regulation.
After Houston forced Arizona to punt and got the ball back with 2:06 remaining, Keenum could complete only one more pass. The Cardinals took over on downs and ran out the clock.
Keenum finished 22-for-43 for 201 yards and no interceptions. Texans running back Ben Tate, seeing the bulk of the action in place of Foster, rushed for 56 yards on 15 carries.
Running back Andre Ellington gained 55 yards on 11 carries for the Cardinals. In the team's previous game, a win over the Atlanta Falcons, he ran for 154 yards and a touchdown.
NOTES: Cardinals WR Michael Floyd suffered a sprained shoulder in the first half and did not return, but coach Bruce Arians said afterward Floyd should be able to play next week against the Jaguars in Jacksonville. ... The Texans lost CBs Elbert Mack (hamstring) and Kareem Jackson (rib) to first-half injuries, and they did not return. ... With two sacks on the day, Cardinals DE John Abraham moved into 12th place on the NFL's all-time sacks list (127). ... Cardinals CB Justin Bethel blocked a 40-yard field goal attempt by Texans K Randy Bullock right before halftime.