The 30-year-old’s old deal was due to expire in the summer.
Aston Villa manager Martin O’Neill said: “Everyone is absolutely delighted that Martin is staying on.
“He has become a firm favourite with the fans and I would think they are as pleased as we are that he is staying.
“Martin has been playing some wonderful football and he deserves everything he gets.
“He has shown great determination and the way he has overcome a serious injury is a lesson to everyone.
“He has removed the doubts over his fitness by playing regularly this season.
“I am delighted, and so is everyone at the club, that he is staying.”