"I have made it clear from the start that I wanted to stay at Arsenal so I am pleased we have agreed a deal that everyone is happy with," Walcott said.
The winger turned down Gunners first offer of a £75k-a-week deal earlier in August. Walcott's representatives were holding out nearly £100,000-a-week which Arsenal refused.
Arsenal manager Arsene Wenger stressed that keeping Walcott was a priority after securing deals for Jack Wilshere, Alex Oxlade-Chamberlain, Aaron Ramsey, Kieran Gibbs and Carl Jenkinson earlier in the season.
Walcott was poised to sign a new improved contract after both club and the players advisors agreed upon a deal on Thursday night and Wenger was pleased to secure Walcott's signature.
"We are all delighted that Theo has signed a new contract. He joined us as a 16-year-old, and since then has developed very well to become an extremely important player for both Arsenal Football Club and England," Wenger said.
Arsenal were preparing to sell Walcott during the summer transfer window after being used to as a substitute during the start of the season. The 23-year old also demanded a new role to play upfront as the main striker as Liverpool, Chelsea and the Manchester giants monitored the situation.
However, Walcott fought his way back into the first-team with his preferred role and has now scored 14 goals this season, more than he has managed to score in any other season.
Walcott has made 244 appearances for Arsenal scoring 56 goals and 30 caps with England netting four times.