The New York Jets may have finally taken one too many gut punches this season. We’ll examine who’s most to blame in the Jets Week 15 loss to the Detroit Lions.

Leading by four points at home Sunday with under two minutes to play, the Jets surrendered a 51-yard touchdown pass from Jared Goff to Brock Wright. That the winning score took place on fourth and inches just twists the knife deeper into the soul of the Jets.

And there was one more twist of the knife after Zach Wilson got the Jets within field-goal range with several clutch throws on the final drive. But the reliable Greg Zuerlein missed from 58 yards.

The Jets (7-7) have lost three straight and four of five. They remain ninth in the AFC playoff race. The top seven teams earn a postseason berth.

That said, let’s break down who’s most to blame for the Jets Week 15 loss to the Lions.

4. Jets defense and coordinator Jeff Ulbrich

Let’s start with this, the Jets defense did a really good job against a very good Lions offense. They held Detroit to a pair of field goals in three trips to the red zone. That began on the first drive of the game when the Jets denied the Lions with a massive goal-line stand on 4th down.

Individually, D.J. Reed had three pass breakups, including one in the end zone. Safety Will Parks started in place of the injured Lamarcus Joyner and led the team with nine tackles, including one on the goal-line stand. Linebacker Quincy Williams had seven tackles (two for loss). The Lions never even threw in the direction of stud corner Sauce Gardner.

As coach Robert Saleh said, the Jets were in a position to win late in the fourth quarter because of their defense. And that they played so well without their best player Quinnen Williams, who was out with a calf injury, was even more impressive.

But allowing the game-winning touchdown on a 51-yard catch and run by tight end Brock Wright was inexcusable. Yes, the Jets and most everyone at MetLife Stadium expected a run or QB sneak on 4th and inches. But it’s up to defensive coordinator Jeff Ulbrich to have the Jets prepared for all scenarios.

The Jets looked anything but prepared for Jared Goff’s easy pitch and catch with the wide-open Wright. Perhaps it was a blown assignment by a linebacker or safety. But there was no protection against this possibility and no downfield safety valve just in case someone from the Lions broke free.

“There’s no reason for that play to happen,” Saleh said.

A solid afternoon by the defense was flushed with one horrendous play.

3. Zach Wilson

Zach Wilson was not bad in his return to the lineup. In fact, he led the Jets to a go-ahead touchdown in the fourth quarter and made several clutch throws on the final drive to at least get them into position to try the game-tying field goal.

Wilson threw for 317 yards. He had a 50-yard completion to Jeff Smith and two 33-yard strikes to Garrett Wilson. He threw a pair of touchdowns to tight end C.J. Uzomah, including a 40-yarder. He made big plays, often when he rolled out or sometimes in an off-script fashion.

“That boy battled,” Garrett Wilson said of his namesake quarterback.

But Wilson was inconsistent. He missed open receivers, failed to sustain drives, and did not lead the Jets to nearly enough points against a so-so Lions defense. He entered the game completing just 55.6 of his passes and then was 18 of 35 against the Lions. That’s just not good enough.

He also threw a terrible pick that led to a Lions field goal in the third quarter. As Wilson pointed out, the difference in the game was three points.

So, like the defense, Wilson did many good things Sunday. Just not nearly enough.

2. Jets special teams

There have been three punts returned for a touchdown in the NFL this season. The Jets have allowed two of them.

Brutal.

Kalif Raymond gave the Lions a 7-0 lead in the first quarter with a 47-yard punt return TD. Braden Mann’s punt was low and short, easily returnable. The coverage and tackling was poor. Jeff Smith was first man down the field and didn’t lay a hand on Raymond.

It was a huge play on a day when scoring was at a premium for each team. Like the game-winning touchdown allowed by the defense, this, too, was inexcusable.

Mann averaged 50 yards on six punts Sunday. But three of his kicks were touchbacks. It was not his finest hour in the NFL.

Braxton Berrios muffed a punt return. Greg Zuerlein missed the game-tying field goal — albeit a 58-yard try.

Special teams were far from special.

1. Jets offensive line

The biggest culprit in New York’s loss Sunday was its offensive line. They were manhandled all afternoon by a defense that’s ranked near the bottom of the NFL.

There were no holes for Zonovan “Bam” Knight to run through. He was consistently hit at or behind the line of scrimmage, finishing with 23 yards on 13 carries. Michael Carter had a six-yard run in the second half. That was the highlight of a ground game that averaged 2.3 yards per rush (50 yards on 23 carries).

When the Jets fail to establish the running game this season, they lose. Simple as that. And they lost this game against the Lions in the trenches.

It wasn’t much prettier in the passing game. Wilson was pressured 22 times, hit five times, and sacked four times. Offensive coordinator Mike LaFleur often had Wilson roll out to buy time. Other times, Wilson scrambled to buy time and make plays.

It was no thanks to the offensive line. The biggest culprit in a heartbreaking loss for the Jets.