Difficult to know where to open on last night's game. "Injured" Dalvin Cook? An incredible game-ending play? Or maybe the least competitive first half of football in recent memory, followed by that sleepwalking team nearly coming all the way back in the second half? It was the best of games, it was the worst of games.

QUARTERBACKS

No one was more representative of the Jekyll and Hyde nature of this one than Ben Roethlisberger. In the first half, it looked like he would absolutely be leaving this game with a concussion or separated shoulder or something. Nearly every pass play seemed to end with him being driven into the turf after a totally unblocked blitzer came screaming into the backfield. He completed 8 passes in the first half while taking 4 sacks. He looked frustrated, old, carved out of stone -- no time to even set his feet and scrutinize the field, let alone get a good play off.

Things changed in the second half (after the first series, where he was sacked again to end it, and the second, where he was picked off). For one thing, the Steelers apparently got the memo that Minnesota's run defense has been really bad this season, a bottom-5 unit. Instead of these stupid little slow developing wide-receiver runs, they gave the ball to Najee Harris and let him actually do something productive. Minnesota also toned down the aggressiveness. The result was a balanced offense, more time for Roethlisberger when he passed, and a near comeback. The guy can still sling it -- his body and feet may be stuck in molasses, but his arm still works. I don't imagine many people started Roethlisberger last night, but if you did, he worked out.

Kirk Cousins threw 2 TDs, but for just 216 yards. A lot of that was the huge rushing numbers they put up. But some was several thisclose passes to Justin Jefferson that could easily have been another 2 TDs, and instead were field goals. One early one was a great throw that Jefferson got both hands on and should have reeled in. Another was a play where Jefferson was wide open for a touchdown and Cousins just missed him. Vikings win and you got multiple scores from Cousins, but a couple of missed connections and a couple of interceptions (one of which clanged off both Jefferson's hands) prevented him from having a much bigger day.

RUNNING BACKS

Starting Aaron Jones surprisingly coming back from injury early a couple of weeks back did not work out. Starting Dalvin Cook last night was a case study in the payoff of taking a risk with an elite talent. Cook looked like he was shot out of a cannon for most of the night, rushing for 205 yards and 2 TDs -- 153 before halftime. After every tackle you were holding your breath for fear he'd aggravate that shoulder injury (or wishing for it, if you were facing him or had started Alexander Mattison, as my no doubt frustrated opponent in a playoff game did).

With the Vikings jumping out to a 29-0 lead, it briefly appeared as if starting Mattison would work out after all. Surely he'd be doing most of the heavy lifting after halftime, piling up yards against a sad and defeated Steelers defense? Instead, the very first play after the Steelers scored to make it 29-7 (a drive helped along by a foolish taunting penalty that turned a 3rd and 12 into a first down in the red zone), Cousins tossed up an interception over the middle of the field (a drop by Jefferson, one of the biggest plays of the game, putting Minnesota's defense back on the field). Suddenly it was 29-14 and it was game on.

I've talked up Najee Harris a lot this year, and I understand that some don't think much of him. When the Steelers don't forget about him, and remember that he can both run and catch it, he's been very good, and nice to have in a fantasy lineup. Frustrating first half last night, but very good in the second half. Does he have a lot of special runs, no. But he's not getting great blocking, either. Hard runner and capable receiver, who should have a nice career of being Pittsburgh's LeVeon Bell (run into the ground, but good for 4-5 years) going forward.

WIDE RECEIVERS

The game began with it looking like Justin Jefferson would catch about 15 passes. Not only was he being heavily targeted, but he was wide open on play after play -- had Cousins been more accurate, and Jefferson not dropped or turned the wrong way on a couple of balls, he would have had a really huge game. Couple of nice defensive plays in there too by Minkah Fitzpatrick. If you started Jefferson you got your 21 fantasy points and aren't too upset today. But man, 30-plus was very possible.

K.J. Osborn was painfully quiet in this one, highlighting the risk in starting Minnesota's No. 2 in what seemed like a great spot for him, filling in for Adam Thielen. But Osborn turned his second catch into a 62-yard touchdown, turning a 3-catch game into a really nice spot start. Congratulations if it worked out for you; the game highlighted the fine line between a good and poor decision with lesser guys filling in. I picked up but left him on my bench anyway. Wish I'd used him, can't feel terrible about not doing so.

Diontae Johnson....that's a tough one. His 5 catches for 76 yards could have easily, easily included 2 TDs. One was a perfectly thrown ball to the corner of the end zone that bounced off his hands (second straight week he's dropped one, I realize he also caught 2 last week). The second was where he made a move to get wide open in the back of the end zone, and Roethlisberger just missed him. Nobody is totally happy about getting 14.6 fantasy points (he caught a 2-pointer) from a guy who really should have had over 20.

James Washington made a nice catch for a touchdown between two defenders, and another couple of important grabs. Nobody started him because nobody knew Pittsburgh would have to pass it so much. But you wonder if he won't get some chances going forward, given the miscues by Chase Claypool.

Looking at the box score, you'd say Hey, 8 for 93, nice game. But Claypool took a bad early penalty, lost a fumble (fortunately, for him, overturned on review) and then committed a pretty awful gaffe in the final minute, wasting 5-10 seconds to celebrate a 4th-and-1 conversion with the clock running. Pittsburgh would have had at least one more play to maybe tie it up.

TIGHT ENDS

Started Tyler Conklin lots of places; sadly, with the way Jefferson was open on every play and with Minnesota building a huge lead with the ground game, Conklin saw just 2 targets and caught 2 passes. Frustrating, but he was their No. 3 receiver; unfortunately his quarterback only had 14 completions. I'll be hard pressed to start Conklin again the rest of the way, which means he'll catch 6 passes and a touchdown next week.

Pat Freiermuth had a very quiet first half, but caught a touchdown late and got both hands on the game-typing ball on the last play of the game, a beautiful route and a beautiful throw. But it was an equally beautiful defensive play by Harrison Smith to swat the ball out of his hands and preserve the lead. Inches and seconds away from a 2-TD game for Roethlisberger's favorite red-zone target. But the defenders are talented guys too.

MISCELLANEOUS

Neither one of these teams is going to the playoffs. Both have issues defensively, both misfire at too many critical moments on offense. And as last night proved, both have troubles stringing together four consecutive quarters of good football. Two each was what we got.