Uggla, who hit .243 with a team-high 31 homers and 90 RBIs last year, struck a one-year deal for $7.8 million. He defeated the Marlins in arbitration last winter, when he was awarded a salary of $5.35 million rather than the team's offer of $4.4 million.
The Marlins also signed pitchers Anibal Sanchez (for $1.25 million) and Renyel Pinto ($1,075,000).
Also signing to avoid arbitration:
• Diamondbacks closer Chad Qualls for $4.185 million.
Among free agents, Jerry Hairston Jr. agreed to a $2,125,000, one-year deal with the Padres, two days after San Diego reacquired Hairston's younger brother, Scott, in a trade with Oakland. The Pirates finalized a $1.35 million, one-year contract with reliever Brendan Donnelly.
Also, the Pirates swapped infielders with the Indians, sending strikeout-prone Brian Bixler to Cleveland for prospect Jesus Brito.