The contract includes an option for further extensions on an annual basis depending on how often Iniesta plays, Rosell told a news conference.
"We are very, very happy," Rosell said. "I think this is a great Christmas gift for all Barcelona fans."
A product of Barca's academy, Iniesta joined the club in September 1996 at the age of 12, made his first-team debut in a Champions League game in October 2002 and has gone on to help the Catalans win 21 trophies.
One of the greatest moments of his club career came in the Champions League semi-finals in 2009 when he scored a dramatic late goal at Chelsea that sent Barca through to the final.
He is a hero to Spaniards after netting the extra-time winner against Netherlands in South Africa in 2010 that secured the Iberian nation's first World Cup.