Cardinals defensive tackle Calais Campbell runs a fumble back 53 yards for a touchdown in his team's 48-41 loss Sunday.
Before Sunday's game, Calais Campbell said he was getting "chills down my back" thinking about all the time he had spent at University of Phoenix Stadium over the years and how it had been an honor.
The veteran defensive lineman, heading into free agency after the season, was well aware it could be his last game in Arizona as a Cardinal. He knew he was going to be emotional. He wanted to make a play. So when he returned a fumble 53 yards in the first half against the Saints for his first career touchdown, it was as if he was scripting a storybook ending.
But as the Cardinals have found this season, the story wasn't going to end happy. The team was officially eliminated from the postseason in a 48-41 loss at University of Phoenix Stadium, scrambling the script once again.
"These are things you remember forever," Campbell said of his touchdown. "You wish you did it in a win."
There are plenty of things the Cardinals (5-8-1) did on the memorable side. Running back David Johnson reached the 100-yard mark for the 14th straight time to begin the season, an NFL record. Carson Palmer was magnificent behind an offensive line scotch-taped together after injuries, throwing for 318 yards and a pair of touchdowns. The Cards averaged 7.7 yards a carry on the ground.
But the Saints (6-8) had Drew Brees shredding the Cardinals for 389 yards passing and four touchdowns.
Campbell is one of a ton of players who were potentially playing their last home game. Palmer, under contract, said he hadn't thought about next year but expected to play in 2017. Wide receiver Larry Fitzgerald said of his future, "we will see what goes on this offseason."
The overall thought of 2017 wasn't lost in the locker room in relation to Sunday.
"Obviously, it's always in the back of your mind, and there are a lot of people up for contracts this year," said linebacker Kevin Minter, one of the players up for contract. "Calais, with the game he had, I'm pissed that we ended the way we did. The game Larry had, some of the other guys had. DJ, getting the record.
"We needed a 'W' today."
The Cardinals came into the game No. 1 in the NFL in yards allowed, and gave up 488. Stops in the
second half were crucial, and twice, the Cardinals thought they had them but didn't.
The first came when the Saints were kicking a field goal early in the fourth quarter to extend their lead to 30-27. Pro Bowler special teamer Justin Bethel lined up offsides, giving the Saints instead a first down. A couple of plays later, former Cardinal Tim Hightower ran the ball in to give the Saints a 34-27 lead.
The Cardinals' offense answered – Johnson's second touchdown of the game and his 17th of the season, tying the franchise record in a season with John David Crow's 1962 mark – but the Saints came back and scored again, and this time, receiver Brittan Golden lost a fumble at the Arizona 29-yard line with 5:13 left.
The Cards desperately needed a stop without a score and thought they had it. Minter busted through on a third-down blitz and sacked Brees for a loss of 11, pushing them all the way back to the Arizona 38. At best, it would be a long field goal attempt.
But the play was wiped out. The Cardinals were called for a blow to Brees' head. Linebacker Sio Moore was flagged, although he said he didn't even know it was on him until well after the play. There was a crowd of players around Brees, and it looked like Brees also could have been hit by his own lineman.
"A game-changer," coach Bruce Arians said.
The Saints drove in for another Hightower TD, for what turned out to be an insurmountable lead. But on a day when the Saints rolled up and down the field at will – wide receiver Brandin Cooks had 186 yards receiving on seven catches – blaming penalties wouldn't work.
"We didn't execute certain defenses and (Brees) just took complete advantage of it," Minter said, shaking his head. "Another one bites the dust."
The Cardinals finished their eight home games with a head-scratching 4-3-1 record – "Completely surprised," Palmer said. "It's been a long season" – and now will play a couple of games just to finish out the season for the first time under Arians.
Palmer already laid that groundwork, bringing up twice how the Cardinals head to Seattle for a Christmas Eve game that always carries with it importance just because of the division rivalry. He wasn't the only one.
"We're paid to play games," center A.Q. Shipley said. "We're paid to give our best. From the time I think we were all yea-big, I don't think we've ever done anything to lose or lie down. … That's where we're at."
There's a chance to create some final memories – although there are time when the Cardinals would rather not remember how this has gone.
"I don't know what's in the air," safety Tyrann Mathieu said. "We can't fall on fumbles, we drop wide-open touchdown passes, tipped balls in the air we can't seem to come down with interceptions.
"We have two games left so we just have to try and find a way to make this thing work and win those two games. The way we've been losing this year, it's been heartbreaking."
Images from the Week 15 game at home against the Saints

RB David Johnson warms up

The roof is open at University of Phoenix Stadium for the game against the Saints

Jordin Sparks performs the national anthem

CB Patrick Peterson runs out before the game

The roof is open at University of Phoenix Stadium

A Cardinals fan

Jordin Sparks performs the national anthem

RB Kerwynn Williams runs out of the backfield

QB Carson Palmer lines up out wide as the offense runs the Wildcat

Cardinals LB Kevin Minter tries to catch Saints RB Mark Ingram

QB Carson Palmer signals at the line

WR Larry Fitzgerald with the catch

RB Kerwynn Williams breaks free (and loses his shoe) for a touchdown

The Cardinals cheerleaders perform

DT Calais Campbell gets the sack on Saints QB Drew Brees

RB David Johnson

The Cardinals line up

RB Kerwynn Williams races toward the endzone for a first quarter touchdown

Saints QB Drew Brees is sacked

DT Calais Campbell recovers the Brees fumble

QB Carson Palmer on the sideline

Santa Claus makes an appearance at the Cardinals game

S Tony Jefferson attempts to tackle Saints RB Mark Ingram

QB Carson Palmer hands it off

Cardinals S Tony Jefferson (left) and LB Kevin Minter (right) bring down Saints RB Mark Ingram

QB Carson Palmer looks on from the sideline

TE Jermaine Gresham makes the catch

WR Brittan Golden on a kick return

Cardinals DT Calais Campbell gets to Saints QB Drew Brees for the sack

WR Larry Fitzgerald is honored on the scoreboard for his 200th game as a Cardinal

S Tyrann Mathieu

DT Calais Campbell returns a fumble for a touchdown

CB Patrick Peterson covers Saints WR Michael Thomas

RB David Johnson

LB Markus Golden gets to Saints QB Drew Brees to force a fumble

LB Chandler Jones (left) celebrates with DT Calais Campbell after returning a fumble for a touchdown

WR Larry Fitzgerald spins after the catch

DT Calais Campbell

RB David Johnson dives forward for the touchdown

LB Kevin Minter puts a sack on Drew Brees

WR J.J. Nelson with the touchdown catch in the second quarter

The mom of WR J.J. Nelson with touchdown ball in the stands

WR J.J. Nelson celebrates with Larry Fitzgerald after the touchdown

RB David Johnson makes the tough catch

QB Carson Palmer

WR John Brown extends for the catch attempt

RB David Johnson crosses the goal line for a 2-yard touchdown

RB David Johnson crosses the goal line

Jordin Sparks performs during halftime

WR Larry Fitzgerald lines up

QB Carson Palmer (right) congratulates RB David Johnson (left) after his touchdown run

S Tyrann Mathieu defends Saints WR Willie Snead IV

Teammates help RB David Johnson up after his touchdown