A source told ESPN.com's Jerry Crasnick that the deal is for $21 million. The source also said that the Cubs are pursuing free agent outfielder Cliff Floyd, who is expected to decide next week between Chicago and Seattle.
The deal will be made official if Marquis passes a physical. The St. Louis Post Dispatch first reported the agreement Friday night.
The 26-year-old Marquis went 14-16 for the St. Louis Cardinals in 2006 with a 6.02 ERA. He struggled after the All-Star break, going just 3-10, and did not make the postseason rotation for the eventual World Series champions.
His best season came in 2004, when he posted a 15-7 record and a 3.71 ERA. He is 56-52 with a 4.55 ERA for his career in seven seasons.
The Cubs have already made a big splash in free agency, signing
Henry Blanco, Mark DeRosa, Ted Lilly, Wade Miller, Aramis Ramirez, Alfonso Soriano, and Kerry Wood to a combined $272.5 million in contracts.
Jerry Crasnick covers baseball for ESPN Insider. His book "License To Deal" has been published by Rodale. The Associated Press contributed to this report.