The Marlins managed only three hits off Shields and were shut out for the second time this season, 4-0 by the Tampa bay Rays.
"That's the story of the game, James Shields," Marlins manager Edwin Rodriguez said. "It's the first time I've seen him pitch against us and he was showing command of all his pitches. I think that's the best changeup I've seen this year. He was in command of the game, pretty much from the first inning."
Rodriguez took over as Marlins manager last June 23, so we wasn't around for Florida's last matchup with Shields.
Twelve days before Rodriguez was hired, the Marlins roughed up Shields for 10 runs in 3 1-3 innings on their way to a 14-9 victory at Tampa Bay.
"It depends what day you get somebody," said Florida center fielder Chris Coghlan, who was 0 for 4 with a strikeout. "I don't think we're so bad that he would do a three-hitter shutout against us and I don't think that he's that bad that he would give up 10 runs in an outing. I feel like it's somewhere in between there. We got him that time and he got us this time."
The Marlins didn't get a runner to second base against Shields on Sunday until the ninth inning, and that was only after Logan Morrison drew a two-out walk.
Florida's Jay Buente (0-1), called up when ace Josh Johnson was put on the disabled list, was no match against Shields. He lasted three innings and gave up four runs — three earned — in his first career start.
Buente allowed five hits and walked three.
"Every time you go out you want to get your team deep in the game and I didn't do that," Buente said. "It's a little disappointing as far as that goes."
The one bright spot for Florida was the work of the bullpen.
But the damage already had been done.
Shields finished off his three-hitter by striking out Gaby Sanchez to set a new career with 13 strikeouts.
"I think I put a little stress on Joe (Maddon) right there by walking that guy, but he let me go out there and I commend him for that," Shields said. "I wanted to finish it real bad."
Shields (5-2) walked just one in his second shutout and third complete game of the season. He had nine strikeouts in the last four innings. The right-hander gave up singles in the second, seventh and eighth innings, along with the ninth-inning walk.
"That was really stretching it there, but he really wasn't tested or pushed in that game," Rays manager Joe Maddon said. "It was an outstanding effort. He told me during spring training he wanted to finish games. He has worked real hard and he deserved that opportunity today."
The victory snapped a three-game losing streak for the Rays, who haven't been swept by their intrastate rivals since 2007.
Tampa Bay improved its road record to 15-8, best in baseball.
Shields went past the seventh inning for the ninth time in 10 starts this season. It was the eighth time he went at least seven innings while allowing two runs or less. Both marks are tops in the majors.
"It's easy to watch film and stuff, but until you see it firsthand you really don't know what kind of stuff he has," said Rays catcher Kelly Shoppach. "And he has good stuff."
"It's great for my confidence going forward," Longoria said. "I just have to continue to have good at-bats and hopefully that that approach will keep carrying over from day to day."
Sanchez had two of Florida's three hits, a sharp grounder up the middle in the second and a blooper in the seventh.
Between Sanchez's two hits, Shields retired 17 consecutive batters.
"All his pitches were working," said Florida right fielder Mike Stanton, who was 0 for 3 with two strikeouts. "He was throwing in his spots and got a lot of swings and misses.'"
The Rays scored two runs off Buente, who made eight relief appearances for Florida in 2010, in both the second and third innings.
Buente looked as if he might get out of a bases-loaded, one-out jam in the second when he got Shields to hit a grounder to third. But Greg Dobbs booted the potential double-play ball to allow one run to score and Elliot Johnson followed with a fielder's choice to make it 2-0.
Longoria had an RBI double and Kotchman a run-scoring triple in the third.
NOTES: With a walk in the ninth inning, Florida LF Logan Morrison reached base for the 24th time in 24 games this season. It's the longest streak in the majors. ... Tampa Bay RF Matt Joyce, who came into the game second in the majors with a .358 average, went 1 for 4. ... Tampa Bay finished with seven hits, the 10th consecutive game the team was held in single digits.