Pending a physical exam, the deal is expected to be finalized early this week, the source said.
The Cardinals offered Morris a two-year deal worth about $13 million and threw in a club option for a third year that would have pushed the offer to $20 million, the St. Louis Post-Dispatch reported Saturday.
He acknowledged to the Post-Dispatch that he figured he wasn't the Cardinals' first choice after hearing how fervently (four years, nearly $40 million) the club had pursued free-agent right-hander A.J. Burnett, who recently accepted a five-year, $55 million deal from the Blue Jays.
"When I saw them going after A.J. that hard, we [Morris and agent Barry Axelrod] got it in our mind that I wasn't going to be in their plans at the time, and we started exploring some other options," Morris told the newspaper. "Then I woke up on Dec. 8 and saw they had offered me arbitration. But I don't think they were serious about signing me."
The addition of Morris would add much-needed experience to the Giants' staff. After shedding veterans Brett Tomko and Kirk Rueter following the 2005 season, the rotation at this time includes veteran ace Jason Schmidt (12-7 in 29 starts) and 25-year-olds Noah Lowry (13 wins in 33 starts) and Brad Hennessey (5-8 in 21 starts).