Matthew Stafford completed 23 of 30 passes and threw three touchdowns as the Los Angeles Rams moved within a game of first-place Arizona with a 30-23 upset win over the Cardinals.

Cooper Kupp, Van Jefferson and Odell Beckham caught touchdown passes and the Rams' stifling defense blunted the attack of the Cardinals, who failed to become the first NFL team to clinch a postseason berth.

Sony Michel carried the ball 20 times for 79 yards as the short-handed Rams improved to 9-4 and moved to within striking distance of first place in the NFC West.

The Rams went 0-3 in November to fall off the pace in the division but opened December with a 37-7 victory over the Jacksonville Jaguars last week and followed it up with Monday's stunning win.

"Our guys answered the bell," said coach Sean McVay of the Rams, who have won two straight games for the first time since October. "Now we ask ourselves how do we build on this?

"We want to enjoy this but let's keep improving. We want to make sure we are improving so if we do play after the 17-game regular season, then we are playing our best ball."

Kupp, who is nursing a sore toe, caught 13 passes for 123 yards.

Quarterback Matthew Stafford has been much improved after a shaky three games during the losing skid. The Los Angeles media has been filled with reports that Stafford is playing hurt but the club has not said anything about problems with his health.

The Rams were missing several players due to Covid-19. Defensive back Jalen Ramsey, running back Darrell Henderson, right tackle Rob Havenstein and tight end Tyler Higbee were all out due to health protocols.

Quarterback Kyler Murray was 32 of 49 for 383 yards for the Cardinals, who dropped to 10-3.

The Cardinals are now 3-3 since starting the season with seven consecutive wins and no losses. James Conner had 31 yards rushing with two touchdowns, while also catching nine passes for 94 yards.

Arizona wide receiver A.J. Green had seven catches for 102 yards, passing 10,000 career receiving yards.

The teams are now 1-1 on the season after the Cardinals beat the Rams earlier this season. The Rams have not lost to the Cardinals since 2014.

"That was adverse conditions," said Cardinals coach Kliff Kingsbury. "That defensive line is tremendous."

Both teams have four games left in the season.