Giants spokesman Jim Moorehead said the 12-year veteran passed a physical Monday and the team planned to formally announce his deal Tuesday.
One of general manager Brian Sabean's top priorities this offseason was upgrading the Giants' offense -- and acquiring DeRosa is a significant step in that direction.
San Francisco also is working to finalize a contract to bring back infielder Juan Uribe.
DeRosa, who turns 35 in February, has been on the Giants' radar for a while. He can play on either corner in the infield or outfield, giving San Francisco manager Bruce Bochy greater flexibility with his lineup. He likely will play third, moving slugger Pablo Sandoval to first and giving the Giants more power and offensive punch at that position.
DeRosa had left wrist surgery after the 2009 season, when he batted .250 with a career-best 23 homers to go along with 78 RBIs for Cleveland and St. Louis. He was traded from the Indians to the Cardinals on June 27 but was in the St. Louis lineup for three games before hurting his wrist against San Francisco. He spent a stint on the disabled list for an injury that was later diagnosed as a partially torn tendon sheath.
DeRosa, who struggled offensively with the wrist injury, led the Cardinals with five hits (5 for 13) when they were swept by the Los Angeles Dodgers in the NL division series.
The Cardinals had hoped to re-sign DeRosa, who declined their salary arbitration offer. He is a career .275 hitter with Atlanta, Texas, the Chicago Cubs, Cleveland and St. Louis.
The 30-year-old Uribe began the 2009 campaign as a backup but wound up playing in 122 games at third, shortstop and second in his first season with San Francisco. He batted .289 with 16 homers and 55 RBIs.
The Giants were in the NL wild-card chase well into September but missed the postseason for the sixth straight year. At 88-74, they won 16 more games than in 2008. Sabean has been committed to boosting the offense for a team that boasts one of the top pitching staffs in baseball, led by two-time reigning NL Cy Young Award winner Tim Lincecum.
San Francisco already brought back second baseman Freddy Sanchez, who was acquired in a trade with the Pirates on July 29 but was limited to 25 games because of injuries. The three-time All-Star signed a $12 million, two-year contract extension in late October.