"Just to get one win, that's what we want to do when we're on a losing streak -- to get that one win and then kind of build from there," Johnson said.
The fast-paced showdown between Johnson and Boston's Josh Beckett, who gave up four runs in seven innings, lasted two hours and 35 minutes. Miami's fastest game this year was two hours and 30 minutes on Wednesday against the Braves. That happened to be Johnson's last start.
The story inside the story of the win is the reasoning the roof was open in the first place.
"Maybe the players feel a little bit different, but the ball played fair, I think," Marlins manager Ozzie Guillen said. "Once in a while having it open, a lot of people want to play outdoor baseball. It was different, but it was fun. We won."
Due to the excessive South Florida heat and unpredictable rain, the team isn't expecting to have the roof open in June, July or August. But with the team mired in a six-game slide, president of baseball operations Larry Beinfest suggested opening the roof. To do so, the weather must accommodate.
With the temperature at 79 degrees and the radar calling for no rain, the team rolled the dice on the elements and played with the roof open on an ideal night. Miami is now 3-2 in games with the roof open.
"If the weather is nice, open it up," said closer Heath Bell, who notched his 13th save.
Jose Reyes, who turned 29 on Monday, tripled to start the game off Beckett, who regrouped after a sluggish first two innings.
"Lately, we were not able to get the big hit," Reyes said. "Today, we were able to do that early in the game. Beckett, he was very tough after that. We were happy to get a couple of runs early in the ballgame."
Donovan Solano had two RBIs, and the Marlins were able to relax and crank up the music in the clubhouse for the first time in a week. Miami hadn't won since beating the Phillies, 5-1, on June 3.
"Hopefully, this game puts the team back on track," Guillen said. "Finally, we started listening to some music in the clubhouse today. It was like somebody has been dead there the last couple of days.
"Those guys' feelings are hurt when they don't win, but hopefully this win against a good pitcher, a good ballclub, I hope it takes us on another hot streak and we win."
Steve Cishek, a native of Falmouth, Mass., who grew up cheering for the Red Sox, worked a scoreless eighth inning. Bell worked around a leadoff walk to Adrian Gonzalez to strike out three straight.
"Early on in our losing streak, we were watching the Heat game, and they won," Bell said. "It was really nice to see everybody cheering, being happy and playing some music."
Given an early cushion, Johnson settled into a solid groove. The 116 pitches are the most he's thrown since tossing 117 on April 30, 2011, at Cincinnati.
"I feel fine. I recovered nicely from last start," the right-hander said. "I like being out there. I want the ball, and just again today, I went down in the eighth and hid. I wasn't going to let him find me."
Johnson's career high in pitches is 121 against the Phillies on May 29, 2010, the night Roy Halladay tossed a perfect game.
"He was pretty tough," Red Sox manager Bobby Valentine said. "We had a couple opportunities against him, but he's a darn good pitcher. He had that 95-mph fastball going, and it's elevating against some of our guys. He did a good job. Every fire, he put out."
During their six-game losing streak, the Marlins averaged 1.7 runs per game.
They enjoyed a breakout first inning, scoring three runs off Beckett.
Reyes tripled to open the inning, and he scored on Solano's sacrifice fly to right. With two outs, Giancarlo Stanton singled, and he scored on Logan Morrison's double to right field.
There was no RBI credited on the two-base hit because Stanton was prepared to stop at third before Gonzalez bobbled the ball for an error. Gaby Sanchez's run-scoring single gave Johnson a three-run lead.
Miami hadn't scored in the first inning since June 1, a span of nine games.
In the second inning, John Buck singled and scored on Solano's two-out RBI single. It was Buck's first run scored since June 3.
The Marlins had four hits in the first inning off Beckett, and they added two more in the second inning. But from that point, Beckett regrouped and retired 14 straight before Buck walked with one out in the seventh.
The six hits were all Beckett allowed.
Johnson limited the Red Sox to two hits through five innings. But in the sixth, Boston got on the board. With one out, Scott Podsednik singled and went to third on Dustin Pedroia's double to left.
Johnson and Gonzalez had a nine-pitch showdown, and with the count full, Gonzalez lifted a sacrifice fly to left. Johnson closed out the inning by getting David Ortiz on a routine fly to center.
"I finally calmed down and made pitches when I needed to," Johnson said. "I was throwing all my pitches for strikes, throwing pretty well. I just have to take it to the next bullpen and take it to the next start."