The 29-year-old Uruguay striker's new deal, which had been in the pipeline for some time, features a €200 million release clause.
Barcelona said Suarez, who has already scored 97 goals in 116 appearances for the Catalan giants since signing from Liverpool in 2014, will officially pen the new deal on Friday.
Suarez to be offered new contract, says Barcelona president
"They know that I feel happy here and there was never going to be a problem extending my contract," said Suarez. "And finally, it's official.
"It's more than a gift for Barca, it's a gift for me. Both the club and I wanted this to continue because it's a good relationship."
The former Ajax striker helped Barcelona win a treble of La Liga, Copa del Rey and Champions League in his first season at the Camp Nou and followed that up with a domestic double last season.
He also scored in the 4-0 win over Juventus in the 2015 Champions League final.
Messi will never leave Barcelona, says club president
Suarez's remarkable goal tally of 59 goals in 53 matches last season, including 40 in La Liga, saw him win the European Golden Boot award for Europe's top scorer.
Suarez's new deal follows the announcement by Barcelona in October that Brazilian superstar Neymar had signed a new five-year deal also keeping him at the club until 2021.
Barca coach Luis Enrique recently expressed confidence that Lionel Messi would tie his future to the club as well after opening talks to extend his contract beyond 2018.
Various Spanish media sources reported last week that Messi's father and agent, Jorge Horacio Messi, had arrived in Barcelona to begin negotiations on a new deal for the five-time World Player of the Year.
"Of course [I like the news]," Enrique said. "The day on which it is announced will be a great day for everyone to celebrate."
The club have also recently tied down defensive midfielder Sergi Busquets and defender Javier Mascherano to contract extensions this year.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ