SANTA CLARA — The 49ers’ win on Sunday was every bit as silly as you’d expect it to be. Raiders and Niners fans don’t come together and create a ho-hum, professional environment, and why should the field of play be any different than the Levi’s Stadium parking lot?

Early 49ers success turned into second-half struggles for both teams in a game that featured six turnovers after halftime — five from the Raiders. But San Francisco unsurprisingly proved the more competent operation.

Even if the bar wasn’t terribly high.

Still, the Niners ran for 190 yards behind 70 from Kaelon Black, threw for another 224, and moved to 7-1 on the season. Here are the studs and duds of a wild, chaotic game:

Studs 💪

Brock Purdy • QB » This was not Purdy’s best game. He had an interception and seemed visually frustrated all game. You’d never know it, though, looking at the final score. Purdy operated with now-trademark pocket command and improvisation, generating positive plays both through the air and with his legs. Outside of an (intentional) grounding miscommunication with Connor Colby and a couple of missed passes to George Kittle, Purdy made high-leverage answers look routine, particularly in the first half. He converted two quarterback sneaks on critical short-yardage downs, broke off a dazzling 18-yard scramble on a third-and-15, and capped first-half drives with a smooth roll-out goal-line touchdown run and a 12-yard strike to Christian McCaffrey. If this is something like Purdy’s floor, how high is the ceiling?

Christian McCaffrey • RB » McCaffrey functioned as the steady engine of the offense from the opening snap, consistently finding running room behind an offensive line that parted the waters along the edges (Colby had a big bounce-back game), even against second-half Raiders blitzes. Beyond punching in an authoritative one-yard touchdown run to cap off an early 12-play march, he converted key short-yardage runs and repeatedly created yards through contact. In the passing game, McCaffrey served as Purdy’s ultimate release valve, highlighting his day with a 12-yard catch-and-run score.

Osa Odighizuwa • DT » The Niners’ defensive tackle wreaked havoc across the interior of the front, dismantling the Raiders’ rushing attack before plays could even develop. He spent all day in the Raiders’ backfield, and their lack of any run game (24 net rushing yards) reflected that. He ended with two quarterback hits and two tackles for a loss in the game.

Fred Warner • MLB » Warner was an absolute animal in the middle of the field, diagnosing concepts instantly and closing gaps with violent speed. His knife to blow up a screen to Brock Bowers for just two yards in the first half was a masterclass. His fumble-forcing punch is one of the great traits in the game. He remains the gold standard at middle linebacker.

George Kittle • TE » Kittle was Purdy’s go-to downfield weapon — for better and for worse — Sunday. But more often than not, he proved impossible for the Raiders’ secondary to cleanly bracket. He ended the game with four catches for 58 yards.

Kaelon Black • RB » Black provided a serious punch from the jump, starting with an explosive 31-yard return on the opening kickoff to give San Francisco excellent field position. Whenever he rotated into the backfield, his north-south acceleration really popped, and it was a big part of the second half, where he ripped off two long fourth-quarter runs. Slowly, but surely, he is developing into an athletically pleasing change of pace. That will loom large in December and January.

Jordan Watkins • WR » Watkins rebounded emphatically from an early first-quarter false start to become a vital playmaker in this contest. In the second quarter, he shook loose on a deep crosser to reel in a 24-yard reception. After moving the chains on an out route for 19 yards in the third, Watkins came up huge late in that quarter, hauling in a contested 37-yard touchdown reception from Purdy to stretch the 49ers’ lead. It was his first career touchdown in the finest game of his young career, an auspicious development for the Niners.

Duds 📉

Deommodore Lenoir • CB » Lenoir endured a rough outing, repeatedly getting caught out of position or reacting late against the Raiders’ passing game. He was caught flat-footed on a third-down completion to Raiders back Ashton Jeanty, surrendered intermediate conversions to Bowers, and committed a tough 24-yard defensive pass interference penalty downfield on Tre Tucker in the fourth quarter on third-and-long. While he flashed on an edge tackle for loss, the coverage lapses and unnecessary penalties made for a challenging afternoon.

Jordan James • RB » Fielding a kickoff at the 5-yard line in the second quarter, James muffed the catch, scrambled to recover at the 6, and could only muster a 10-yard return out to the 16-yard line, putting the offense in an immediate hole and probably hurting his chances to get carries from scrimmage in the process.

Special Teams Coverage Unit » San Francisco’s kick coverage unit had repeated breakdowns in lane discipline Sunday. Dylan Laube looked like Dante Hall, finding wide-open creases, gashing the 49ers for a 30-yard return and later ripping off a backbreaking 54-yard return right into San Francisco territory after Jaden Dugger, Siran Neal, and Garret Wallow all failed to maintain leverage.

Ji’Ayir Brown • FS » Brown had a rough sequence in the third quarter when Las Vegas attacked the intermediate and deep seams. On second-and-4 from the San Francisco 21-yard line, Raiders QB Kirk Cousins fired a strike right down the deep middle to Bowers, who beat Brown clean in coverage for an uncontested 21-yard touchdown reception to pull the Raiders within striking distance.

Line Judge Mark Stewart and Down Judge Brian Sakowski » I don’t believe I’ve ever named the guys who determine the spot of the ball in a Studs and Duds column, but these two deserve the shout-out. What a journey we were on with their (in)ability to properly gauge where the ball should be. The issues started early with some bizarre spots that negatively affected both offenses and only escalated as the game continued. The next time Scott Novak’s crew is on the call, beware.