Who’s better than the Ravens? After Monday night, maybe nobody.

Baltimore took down San Francisco 33-19 thanks to an MVP-level performance from quarterback Lamar Jackson and not three, not four, but five interceptions from the defense.

Here’s how each position group graded out.

Quarterback

Just as the MVP conversation began shifting away from Jackson, the 26-year-old steered the discussion back towards himself with a dominant performance. After starting the game 1-for-5 with an intentional grounding in his own end zone (thanks in part to referee Alex Moore), Jackson led his team on seven straight scoring drives. He finished 23-of-35 (66%) for 252 yards, two touchdowns and no turnovers. Once again, his shiftiness in the pocket extended plays, kept drives alive and frustrated the opposing defense. Jackson was the best player on the field Monday night, and he may be the best in the league this season.

The Baltimore Banner thanks its sponsors. Become one.

Grade: A

Running backs

After back-to-back poor performances from Gus Edwards, the Ravens decided to give Justice Hill a chance to inject some life into the Ravens’ running game. He did not make the most of it. The fourth-year back had just 26 yards on 10 carries (2.6 average). Edwards didn’t do much better, picking up 31 yards on nine carries (3.4 average). Jackson finished as the team’s leading rusher for the third game in a row. At some point, Baltimore needs to adjust to life without rookie Keaton Mitchell.

Grade: C-minus

Offensive line

Though the running game struggled, it did not appear to be the fault of the offensive line, which allowed just two sacks. Facing a fierce, Nick Bosa-led pass rush, the offensive line gave Jackson time to throw and was not flagged for holding once all night.

Grade: B-plus

The Baltimore Banner thanks its sponsors. Become one.

Pass catchers

After a one-catch performance against the Jaguars, Zay Flowers was determined to get back on track against the Niners. The rookie grabbed nine passes for 72 yards and a touchdown, pacing the Ravens’ passing attack.

Isaiah Likely continued to prove he’s capable of helping the offense in Mark Andrews’ absence, snagging three balls for 56 yards. Nelson Agholor had just 10 receiving yards, but he helped out a scrambling Jackson and snared a touchdown in the second quarter.

Grade: B-minus

Defensive line

Yes, the 49ers averaged 6.7 yards per carry and Christian McCaffrey rushed for 103 yards and a touchdown. But they do that to everybody. The pass rush collected four sacks — Brent Urban padded the stats with a pair of sacks on Niners backup Sam Darnold — and was in the face of Purdy all game. The interior linemen — Justin Madubuike and Broderick Washington in particular — clogged the middle and allowed defensive coordinator Mike Macdonald to use creative blitzes around the ends.

Grade: B

The Baltimore Banner thanks its sponsors. Become one.

Inside linebackers

Coming into this game, both teams could have claimed to have the best linebacker duo in the NFL. Roquan Smith and Patrick Queen left no doubt as to which squad deserved that title. Smith led the team in tackles with eight, and Queen had seven and an interception in the third quarter. Niners tight end George Kittle looked to be in for a big night after finishing the first half with 91 yards, feasting on the middle of the field. But the four-time Pro Bowler had just 35 yards after halftime.

Grade: A

Defensive backs

It’s true, there really is nothing Kyle Hamilton cannot do. The second-year safety had two first-half interceptions. The first was a heady play to put the brakes on the Niners’ first drive. The second was aided by cornerback Brandon Stephens, who continued his quietly impressive season with another solid night in coverage. Cornerback Marlon Humphrey grabbed his first interception of the season. The Ravens did not miss injured veteran Arthur Maulet.

Grade: B-plus

Special teams

Tylan Wallace continues to make the most of his opportunities, returning a kick 26 yards and a punt 23 yards. Justin Tucker was automatic, going 4-for-4 on field goals and 3-for-3 on extra points.

The Baltimore Banner thanks its sponsors. Become one.

Grade: A

Coaching

John Harbaugh went for it on fourth down! Well, at least once. Macdonald was in his bag, blitzing both cornerbacks on Humphrey’s first-half interception. Offensive coordinator Todd Monken used his pass-happy attack to gash the Niners defense to the tune of 343 total yards.

Grade: A

K9ers Christmas sweater corgi races

People forget: Corgis are herding dogs, not lap dogs. They showed it tonight.

Grade: A-plus

The Baltimore Banner thanks its sponsors. Become one.

Correction: This story has been updated with the correct spelling of Christian McCaffrey’s surname.