Rolen was originally signed up until 2010, earning $11 million for that season, but has agreed to play through to the end of 2012 for an extra $13 million.
Under the terms of the new deal, the 34-year-old would earn $6 million next year plus $6.5 million for each of the next two seasons as well as a $5 million signing bonus deferred over the length of the contract.
"Scott's signing is an indication of his feelings toward the club and the direction we're taking," Reds general manager Walt Jocketty said in a statement.
"He wants to stay here, and hopefully he can end his career as a Red."
(Reporting by Gene Cherry in Salvo, North Carolina; Editing by Julian Linden)