With plenty of firepower, the Marlins were able to salvage the series finale at Chicago, along with snapping their three-game losing streak. Johnson (5-1) was solid, if not spectacular, even though he didn't record a strikeout for the first time in a start during his career. He entered the game with 63 strikeouts in 57 innings.
The season-best 13 runs topped Florida's previous high of 10, turned in twice.
"It was a good day for us," Ross said, "after the first two games of not being able to do pretty much anything, to get some runs up early."
The shutout was the third combined for Florida this season. Dan Meyer, Clay Hensley and Leo Nunez each worked a scoreless inning.
After opening the series on Friday by being blanked for the first time this season, the Marlins were hungry for a breakout offensive performance. They were shut down by Adam Wainwright on Thursday in St. Louis, and in the first two games of the series in Chicago, Mark Buehrle and Gavin Floyd frustrated Florida.
"It happens in this game, and we all just have to keep battling," Ross said. "We ran into a buzz saw with Wainwright, Buehrle and Floyd. All three of those guys pitched really well. You've got to give each of those guys credit."
Johnson did his part, even on a day he wasn't at his best.
"He got better as the game went on," White Sox catcher A.J. Pierzynski said. "He started throwing a lot more offspeed pitches, he was throwing them for strikes, and that's gets you off his heater when he's throwing that hard."
You have to go back to when Johnson was a rookie on April 18, 2006, to find an appearance where the hard-throwing right-hander didn't register a strikeout. He tossed three innings of relief that day.
"It was unusual," manager Fredi Gonzalez said of Johnson not logging a strikeout. "He had some people on base, but he got through it. We were able to score runs, and keep adding on runs."
Johnson recalls that appearance because it was his first Major League victory. Afterward, then-Marlins manager Joe Girardi handed him the lineup card.
"I couldn't throw my good two-strike slider, but I'll take it," said Johnson, who has a streak of 18 consecutive shutout innings. "I'll take it anyway I can get it."
With their win on Sunday, the Marlins concluded a stretch of playing on 20 consecutive days, posting a 10-10 mark.
"I'm not a big, huge fan of days off anyway," Uggla said. "But maybe we were feeling a bit [sluggish]. Who knows?"
Johnson claimed his fifth straight decision since losing on Opening Day, while lowering his ERA to 2.43.
"J.J. made pitches when he had to," Gonzalez said. "He got some ground balls. He did a nice job."
The big offensive showing came a day after the Marlins snapped a scoreless streak of 23 innings.
A tone was set early, as Florida pounded out seven runs on seven hits off Freddy Garcia, who was lifted after 2 1/3 innings.
"[Garcia] is one of those guys that if you don't get on him early, and he starts making pitches, it can be a long day," Ross said. "It could be the same way as the first two games."
Before Sunday, the 17 hits the Marlins had against the Mets at Citi Field on April 7 were their season best.
Uggla inched closer to franchise history. The slugger uncorked a two-run blast in the third inning. It was his 12th of the season, and 133rd of his career.
The slugger is closing in on the franchise all-time mark of 143 held by Mike Lowell. Miguel Cabrera is second at 138, followed by Uggla.
Limited to three runs total in their three-game losing streak, the Marlins jumped to a four-run lead in the first inning. Gaby Sanchez, who had three hits and three RBIs on the day, started the rally with a single, and he moved to third on Hanley Ramirez's double.
Cantu's RBI double opened the scoring. Uggla drove in a run with groundout. The big blow was Ross' two-run homer.
The game featured home-plate umpire Adrian Johnson warning both teams after Meyer plunked Pierzynski on the right arm with two outs in the seventh inning.
Earlier in the game, Brett Carroll was struck twice by pitches. Carroll initially was hit to lead off the fourth, with Florida ahead by seven. Carroll stole a base in the inning. As did Sanchez.
In the fifth inning, Carroll again was hit by a pitch.
White Sox manager Ozzie Guillen had some words with the umpires. Gonzalez also spoke briefly with the umpires.
"I wasn't throwing at anybody," Meyer said. "I'm trying to get outs."
Gonzalez noted that Carroll missed a sign, and stole on his own.
"We had nothing going on, sign-wise," Gonzalez said.