James Shields allowed one run in six-plus innings on Sunday against Marlins to win for the first time in five starts. Tampa Bay defeated Miami 4-2 to complete a three-game sweep.