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.
Beautician charged with giving client fatal silicone butt injection
Duggar sisters unveil Christian dating rules in new book