The 28-year-old right-hander from the Dominican Republic, a 2008 All Star, set a franchise record last year with 138 strikeouts as a reliever and recorded 38 saves in his first full season as the club's closer.
The deal covers Marmol's final two seasons of arbitration eligibility and his first year of free agency.
The financial details of the deal were not released by the Cubs but media reports said the deal is worth around $20 million spread over the three years.
Marmol converted 38 of 43 save opportunities in 2010 and averaged a Major League record 15.99 strikeouts per nine innings.
(Reporting by Simon Evans in Miami; Editing by Steve Ginsburg; To query or comment on this story email email@example.com)