Stafford threw two touchdown passes and ran for another score and the Lions overcame Johnson being limited by an ankle injury to beat the New York Jets 24-17 on Sunday.
"He had a couple of catches, but he obviously wasn't himself out there," Stafford said of Johnson. "The other guys stepped up big."
Jeremy Ross and Eric Ebron caught scoring passes for the Lions, off to a 3-1 start for the second straight season. Stafford finished 24 of 34 for 293 yards, and appeared unfazed by his top receiver shuttling in and out of the game.
"We knew Calvin was going to be limited today and we were hoping to not have to use him unless it was an emergency," wide receiver Golden Tate said. "I think we responded well."
Johnson's ankle had him questionable for the game. He had just two catches for 12 yards, but Tate did his best Megatron impersonation, catching eight passes for 116 yards.
"You guys get caught up in names," Jets linebacker Calvin Pace said. "But Golden Tate is a good receiver, too."
A struggling Geno Smith had two more turnovers as chants of "We Want Vick!" echoed throughout MetLife Stadium at times. As he walked off the field, a television camera caught the Jets quarterback shouting an expletive at a heckler in the stands.
"Before we start this off, first of all I want to apologize if any kids saw me saying any negative remarks walking off the field," Smith said to open his postgame news conference. "I kind of let my temper get the best of me in that situation, and it's a part of my learning process."
The Jets, who made it close on Chris Johnson's 35-yard run with 6:58 left, fell to 1-3 for the first time in Rex Ryan's six seasons as coach.
Smith was 17 of 33 for 209 yards, including an 11-yard TD pass to Eric Decker, but threw an interception and lost a fumble -- giving him seven turnovers in four games. The calls for Vick, the veteran backup, could intensify this week despite Ryan saying after the game that Smith would start next Sunday at San Diego.
"I've got to let that stuff roll off my back," Smith said. "But today, I didn't do well with that."
Johnson ripped off a 35-yard run, making it 24-17. But the Jets couldn't muster much else, and the Lions ran out the last 3:41.
The game was a matchup of Detroit's top-ranked defense and New York's No. 2. The Lions had the first big play of the game as Stafford found Ross for a 59-yard touchdown and a 10-3 lead. Ross blew by converted safety Antonio Allen, and then Allen missed a late tackle attempt as Ross got into the end zone.
After the Jets went three-and-out on consecutive possessions, Ebron made it 17-3 with a 16-yard catch -- the first TD in the NFL for the No. 10 overall draft pick in May.
The Jets stayed in it by scoring on their first possession of the second half, an 11-yard pass from Smith to Decker that made it 17-10.
But the Lions reclaimed control on Stafford's 1-yard TD run on the first play of the fourth quarter. Stafford's run, upheld by video review, capped a 14-play, 90-yard drive that included a 10-yard catch by Reggie Bush on third-and-9, a 21-yard grab by Ryan Broyles -- his first of the season -- on third-and-2, and a 16-yarder by Tate on second-and-1 from the Jets 18.
"Our defense did a great job all day stopping the run, pretty much shutting down the offense," Stafford said. "We stumbled a little bit in the third quarter and we needed to put a statement out there. That drive was huge."
Darius Slay intercepted Smith in the fourth quarter, and former Jets safety James Ihedigbo had a strip sack of Smith on New York's next possession. The fumble was recovered by Darryl Tapp. ... Lions K Alex Henery, signed earlier in the week to replace rookie Nate Freese, kicked a 51-yarder, but was wide right on a 52-yard attempt. ... Jets WR David Nelson (left ankle) and safety Calvin Pryor (thigh) left and didn't return. Allen also had a significant limp after the game. Lions RB Joique Bell was being evaluated for a head injury, while running back Theo Riddick and fullback Montell Owens left with hamstring injuries. Neither coach had any updates.