Marion Grice scored on an 11-yard run with 31 seconds left and the Arizona Cardinals beat the Oakland Raiders 30-23 on Sunday night in an exhibition game where both first-team offenses struggled.

The Raiders (1-2) got five field goals from Sebastian Janikowski in the first half but didn't get into the end zone until Matt McGloin led an 83-yard drive late in the fourth quarter. He capped it with a 4-yard TD pass to Kris Durham with 2:18 left and Oakland tied the game when McGloin connected with Brice Butler on the 2-point conversion.

Logan Thomas answered by leading the winning drive with help from a 38-yard pass to Ifeanyi Momah.

It was a costly game for the Raiders, who lost starting right tackle Menelik Watson to a ruptured Achillies. Watson announced the injury on his Twitter account late in the game.

Carson Palmer struggled against his former team as he was under pressure from Khalil Mack for most of the first half. Palmer was 8 for 22 for 103 yards and was intercepted twice by Nate Allen. Palmer also was sacked three times, including twice by Mack.

Andre Ellington was held to 19 yards rushing on nine carries as Arizona struggled to move the ball at all in the opening half.

The Cardinals got going with their defense on the opening drive of the second half. Derek Carr tried to throw the ball way on a screen pass deep in Cardinals territory only to have it end up right in Cariel Brooks' arms. He ran untouched for the score that ended Carr's night.

Carr finished 18 for 34 for 213 yards but was unable to lead the Raiders into the end zone. He got little help from the run game with starter Latavius Murray being held to 1 yard on seven carries.

Drew Stanton and Phillip Sims each threw TD passes for the Cardinals.