The 33-year-old centre-back has remained a consistent presence since arriving from Burnley in 2017, making 259 appearances for the club, including 223 in the Premier League. His 19 goals from defence and 12 caps for England national team highlighted both his durability and contribution at the highest level.
Speaking after signing the new deal, Keane said: "The club means a lot. It's one of those things that's easy to say, but it has become part of me. It's who I am and it feels like family to me."
He added: "I think it's been a great season for me personally. I've played a lot of football, probably more than I expected, and I feel like I've done well and I've absolutely loved it."
Keane has featured 30 times in all competitions this season, playing a key role in what has been a steady campaign under Moyes, with the manager relying on his experience at the back.
However, Everton's defensive options have been dealt a significant setback with confirmation that Jarrad Branthwaite was likely to miss the rest of the season.
The young defender suffered a hamstring injury during the Merseyside derby, though the club confirmed surgery would not be required. The issue was also unrelated to a previous hamstring problem that had sidelined him earlier in the campaign.
In a club statement, Everton said Branthwaite would now begin rehabilitation at Finch Farm under the guidance of the medical team.
His absence came at a crucial stage of the season, with Everton still facing a demanding run-in. Fixtures against West Ham United, Manchester City, Crystal Palace, Sunderland and Tottenham Hotspur would test the squad's depth.
With Keane now committed for the long term, Everton would hope his leadership could help steady the defence as they navigated the final weeks without one of their key young players.