The 37-year-old striker, who has been on loan from Bournemouth this season, has signed a pre-contract agreement with the Ibrox club for the 2020/21 campaign.
Speaking on the Rangers website about the move, Defoe said: "I'm just delighted to be honest ."
Defoe, who spent the second half of last season on loan with the Gers from Bournemouth, has scored 24 goals in 48 appearances.
The former England international added: "When I first signed, as I've said many times, it was an easy decision because I have always known about the size of this football club and the history and the great players that have played for this club, so I think for it to get all sorted and for me to secure my future here for another year is really special."
Confirming the move is one the club "have been working on over the weeks", boss Steven Gerrard added: "He is an incredible professional with the way he goes about his work on and off the pitch. He is a credit to himself and his family.
"He is still contributing heavily, he is a major part of this group, this team and this squad and, hopefully, together we can go and share some success as I think he deserves that."