The deal, which makes the 30-year-old the Cubs' highest-paid player, will keep Lee with the Cubs through 2010, the Chicago Sun-Times reported.
"It's nice to get it over and put it behind me. Now I can focus on baseball and winning games," Lee told the Chicago Tribune.
"Derrek Lee has become one of the upper echelon players in the game," said Cubs General Manager Jim Hendry. "He's certainly made no secret of the fact that he wanted to be a Cub for a long time and we certainly wanted to accommodate him. He's a special player."
Lee, who is entering his third season with the Cubs, won the National League batting title in 2005 with a .335 average on 46 home runs and 107 runs driven in.
Lee also won a Gold Glove for just six errors last season and was the No. 1 NL vote getter in All-Star balloting.
Jessica Simpson shares three-way kiss with friends in photo
Scarlett Johansson steps out with fiance after pregnancy reveal