ST. LOUIS — The Arizona Cardinals needed no late heroics to win their sixth in a row.

This time, they dominated from the opening kickoff.

Replacement running backs David Johnson and Kerwynn Williams both had TD runs, Carson Palmer threw for 356 yards and the Cardinals stuffed the punchless St. Louis Rams 27-3 on Sunday.

Johnson, a rookie, had 99 yards on 22 carries in his first career start and caught one of Palmer’s two TD passes as Arizona rolled up 524 yards. Williams scored his first career TD on a 35-yard run.

Palmer was 26 of 40 with no interceptions and — unlike the previous three games in the streak — he did not need to lead a late scoring drive to win. Arizona led 10-0 at the half and never let the Rams into the game.

Larry Fitzgerald made his 1,000th reception and topped 1,000 yards receiving for the seventh time. The Cardinals (10-2) have won seven of eight since losing 24-22 at home to St. Louis in Week 4.

advertisement | advertise on newsday

Fitzgerald is the youngest player to reach 1,000 catches and is tied for 10th on the career list with Hines Ward. He caught eight passes for 55 yards.

The Rams (4-8) have lost five in a row and have been outscored 58-10 the last two. The team announced 51,115 tickets distributed, a season low and about 15,000 shy of a sellout, and the dome looked half empty.

The Cardinals drove 80 yards on the opening drive capped by rookie J.J. Nelson’s 22-yard scoring catch. They were in St. Louis territory five of six possessions in the first half but didn’t capitalize again until Chris Catanzaro kicked a 33-yard field goal with six seconds left.

Johnson entered with just 139 yards on the year as the backup behind injured Chris Johnson and Andre Ellington.

Williams replaced David Johnson on kickoffs and fumbled out of bounds, but redeemed himself with a 35-yard run that put Arizona up 24-3 late in the third.

NFL videos

Williams’ TD was the third long play on that drive, with a 31-yard catch by Michael Floyd and 23-yard run by David Johnson coming on successive plays.

The Rams were shut out in the first half for the second time this season. They finished with 212 yards and nine first downs, going 1 for 12 on third down.

Two Rams, cornerback Janoris Jenkins and tight end Lance Kendricks, were ruled out with concussions late in the game. Jenkins was evaluated twice, both times on hits from teammates, and didn’t recover from blow delivered by Mark Barron on Johnson’s 10-yard TD catch with 5:51 to go in the third.