Week 12 of the NFL is (nearly) in the books and the action certainly didn't disappoint. The 49ers flexed their muscle against the Packers and the Patriots beat the Cowboys in some ugly weather in Foxborough. But the Cowboys were asking questions about a few critical penalties while owner Jerry Jones had questions of his own -- about his own team.

Time is now running out for teams looking to charge into the NFL playoffs. No teams have clinched a spot yet, but the margin of error for squads who aren’t in position is thinning with each week. That sets up what could be a tightly contest final quarter of the season.

But let’s not get ahead of ourselves. Here are the Week 12 winners and losers.

WINNERS

Niners defense

Against the Packers, the 49ers got their offense to produce enough big plays to put points on the board, but — again — this defense was the star. And that defense completely neutralized Green Bay’s explosive plays. In a 37-8 victory, it limited Green Bay to one of 15 third-down conversions, sacked Aaron Rodgers five times and erased running back Aaron Jones, who gained just 38 yards on 13 rushes. Rodgers had just 104 passing yards and was pulled late in the fourth. The longest offensive play for the Packers was just 21 yards. San Francisco’s remaining schedule is brutal. The 49ers still have games left against the Ravens (8-2), Saints (9-2), Rams (6-4) and Seahawks (9-2), so getting a victory against a potent Packers team was essential in terms of keeping pace in the NFC playoff picture.

San Francisco 49ers defensive end Nick Bosa, left, celebrates a sack with teammates against the Green Bay Packers.

Ryan Tannehill

Since he took over as the starting quarterback of the Titans, Tannehill has led Tennessee to victories in four of five games, the latest being a 42-20 thumping of the division-rival Jaguars. He became the first Titans quarterback to throw two touchdowns and run for two more since Steve McNair did it in 2001. He needed just 18 pass attempts, but completed 14 of them, and totaled 299 total yards for an efficient 155.8 QB rating. Whether or not Tannehill has done enough for the Titans to consider him beyond this season, his contract will expire at the end of the year. But there’s no question that Tannehill has been better than Marcus Mariota as the team’s starter and has put Tennessee in a better position to compete.

Jarvis Landry

Certainly, the Miami Dolphins are in a rebuild and the roster is weaker than it had been. Former coach Adam Gase, whom Landry — a current Browns receiver — had bristled with repeatedly is no longer on the Dolphins. But it still must’ve felt nice for Landry to stick it to his old squad. In Cleveland’s 41-24 blowout victory against Miami, Landry was the most consistent Browns weapon, catching 10 passes for 148 yards and two scores on 13 targets — all of which led Cleveland. The Browns are 5-6, have now won three in a row and have a big game against the Steelers coming up in Week 13.

NFL WEEK 12:32 things we learned

PLAYOFF PICTURE:49ers' win provides pecking order in NFC

FOOTBALL FIX:NFL news and analysis delivered to your inbox

Jarvis Landry had two touchdown catches in the Browns' win over the Dolphins.

LOSERS

Officiating, again

This is becoming a concerning, annoying, and persistent theme in 2019. NFL officials seem to make mistakes that sway the course of games every single week. Look at the Cowboys, who were penalized with a tripping penalty called against center Travis Frederick on a 3rd-and-1 during what could’ve been a game-winning drive. Quarterback Dak Prescott completed a pass to running back Ezekiel Elliott for the first down, but the tripping call created a 3rd-and-11, and changed the course of the game. Replay showed that the penalty was — at best — a very generous interpretation of the rule. It was the second suspect tripping call against Dallas, a penalty that — according to ESPN — had only been called seven times this season. Look at Raiders defensive tackle Maurice Hurst Jr., who was flagged for roughing the passer against Jets quarterback Sam Darnold, on a play that looked like, well, a regular tackle. Then there’s the pass interference reviews that have been wildly inconsistent. How can the Panthers win their challenge for this play:

While just one week ago the Texans lost theirs for this one?

Saquon Barkley

The Giants running back is one of the more dynamic weapons in the NFL. But the Giant offensive line and other offensive struggles have limited Barkley’s effectiveness. The Giants lost to the Bears, 19-14. And now, over the last three games, Barkley has rushed the ball 44 times for just 88 yards and hasn’t scored a touchdown. That Barkley, who is undoubtedly New York’s top offensive threat, is averaging two yards per carry suggests that Giants coaches should try harder to make him the focus of New York’s attack and feed him the ball.

Mason Rudolph

It has been a bad week for Rudolph. The quarterback of the Steelers was fined $50,000 for his role in the scuffle that happened at the end of the game against the Browns last week, and then got benched in a 16-10 victory against the winless Bengals. He completed just eight of 16 passes for 85 yards with no touchdowns and one interception through two-and-a-half quarters. At the time, Pittsburgh trailed 7-3. Backup Devlin Hodges entered the game and instantly provided a spark, connecting with receiver James Washington on a 79-yard touchdown pass.

Hodges, admittedly, didn’t generate that much offense aside from the touchdown, but he did manage the game and minimize mistakes. And with a rematch coming up against the Browns, just two weeks after Rudolph had the run-in with Cleveland defensive end Myles Garrett, Rudolph might not even get a chance to play if the Steelers opt for Hodges to start.

Carson Wentz

After a tough game against the Patriots last week, it wasn’t any better for Wentz against the Seahawks. In a 17-9 loss, Wentz often held the ball too long and left himself susceptible to sacks; Seattle took him down four times, forcing Wentz to fumble three times and lose two of them. He often misfired on throws to open targets; Wentz completed 33 of 45 passes for 256 yards and two interceptions. He did get one touchdown, but that was in garbage time with just 20 seconds left. That, despite being gifted several opportune chances from an inefficient Seahawks offense. The home crowd in Philly often booed the offense off the field. Philadelphia dropped to 5-6. Its playoff hopes are precarious. And if Wentz’s play doesn’t improve over the final stretch, it might miss the postseason for the second time in a row.

Oakland Raiders

Some teams don’t believe in trap games. If the Raiders didn’t heading into Sunday, they might now. Oakland — with their huge game looming next week at Arrowhead against the Chiefs — absolutely sputtered against the Jets, losing 34-3. The Raiders just couldn’t convert any explosive plays and the offense could not move the ball into Jets territory. Oakland didn’t cross into the red zone once. Derek Carr was benched and Mike Glennon couldn’t provide any spark. Oakland fell to 6-5 and is one game back of the Chiefs in the AFC West. Kansas City had its bye in Week 12 and should be well-rested for next week. The loss dropped Oakland from the No. 6 seed in the AFC and the Raiders are on the outside looking in — for the moment. This is a loss — against a team that entered the day with just three victories — that very well could haunt Oakland at the end of the season.

Follow USA TODAY Sports' Lorenzo Reyes on Twitter @LorenzoGReyes.

If you love talking football, we have the perfect spot for you. Join our Facebook Group, The Ruling Off the Field, to engage in friendly debate and conversation with fellow football fans and our NFL insiders.