Stafford threw two touchdown passes, and Johnson had five catches for 111 yards to help the Lions cruise to a 27-12 victory on Friday night.
Stafford went 12 for 17 for 184 yards in four possessions. He failed to produce a score in three drives last week against Cleveland, then came up empty in his first two series against Baltimore before guiding touchdown drives of 93 and 70 yards.
"We got into a little bit of a rhythm," Stafford said. "When we kind of figured out what they were doing, we went out and executed."
That 93-yard drive took only five plays, three of them completions to Johnson for 83 yards. On the last one, Johnson made an excellent catch over cornerback Jimmy Smith in the end zone on an 18-yard score.
"We see that same coverage out there, our mouths start to water, we get hungry," Johnson said. "They were blitzing a lot so we left their corners, their DBs, on an island. That's what we look for."
Covering Johnson is no easy task, as evidenced by his numbers last year: 96 catches, 1,681 yards and 16 touchdowns.
"You're talking about a person who should probably be running track, but he chose football," Ravens linebacker Ray Lewis said. "He's a mismatch for a lot of people. The bottom line is you've just got to make him earn his check. Today, he earned his money."
Safety Bernard Pollard added, "The biggest thing with Calvin Johnson is he understands and knows where everybody is at, and he has a quarterback who doesn't care where anybody is at. He is a talent on the field, and he has a special gift."
Stafford also connected with Titus Young for a 24-yard score to help Detroit take a 17-9 halftime lead.
Operating under first-year coordinator Dean Pees, Baltimore's defense gave up 254 yards in the first half and a whopping 507 overall. The Ravens are trying to rebound from an offseason injury to linebacker Terrell Suggs and the loss of free agents Cory Redding and Jarret Johnson.
"We have to complete plays, not just be in position to make them," Pees said at halftime. "Communication still isn't where we want it to be. We need to get better, and we will."
The Ravens had two kick returns for touchdowns called back because of penalties. Deonte Thompson had a second-quarter kickoff return nullified, and Asa Jackson's punt return in the third quarter was wiped out.
Replacement officials called 20 penalties for 177 yards, including 13 infractions for 123 yards before halftime.
Joe Flacco went 7 for 12 for 79 yards and led the Ravens to a pair of field goals before leaving early in the second quarter. Ray Rice played only two series, gaining 12 yards on five carries and catching two passes for 11 yards.
"You're not going to peak real early, it's August," Baltimore coach John Harbaugh said. "We're growing in some areas. We're not doing everything we're going to do."
After getting to midfield on their first possession, the Ravens then moved 60 yards before Cundiff kicked a 32-yard field goal for a 3-0 lead. Flacco went 4 for 7 for 43 yards on the drive, which was aided by a roughing-the-passer call on Nick Fairley.
Stafford put the Lions ahead with his touchdown pass to Johnson, and in his final series the quarterback completed passes to four receivers in a march that ended with Young diving into the end zone on a third-and-4 play.
The Lions were without running backs Jahvid Best (concussion) and Mikel Leshoure (hamstring). Kevin Smith started and ran for 11 yards on four carries, and reserve Stephfon Green went 76 yards for a touchdown with 43 seconds left.
Backup Stefan Logan was carted off the field in the second quarter with an ankle injury after colliding with Stafford on a handoff. X-rays were negative.