Shields (7-4) shut the Marlins out until the seventh inning, eventually yielding four hits with three walks while striking out five.
They outscored the Marlins 22-7 in sweeping their three-game interleague set in Miami.
Miami starter Anibal Sanchez (3-5) was touched for four runs on seven hits over six innings.
Logan Morrison collected three hits, including a run-scoring single as the Marlins fell for the sixth straight time.
Justin Bieber crashes Drake Bell's album release party
Members of Congress to keep receiving porn magazine