The 58-year-old Northern Irishman announced his decision in a joint statement with chief executive Paul Faulkner on the club website.
"I have enjoyed my time at Aston Villa immensely. It's obviously a wrench to be leaving such a magnificent club," O'Neill said.
"I would like to pay tribute to the Villa players, my coaching staff and the Villa supporters for all the support and encouragement they have given both the club and me personally during my time as manager," he added.
He gave no reason for the resignation.
Reserve team manager Kevin MacDonald will be caretaker manager for Villa's opening game of the season at home to West Ham United on Saturday.
O'Neill's departure comes almost four years since he joined the Midlands club. His tenure included three sixth-place league finishes and Villa's first final in 10 years -- a 2-1 League Cup defeat to Manchester United.
"The club would like to thank Martin for the great work he has done at Aston Villa over the past four years," Faulkner said.
"He has helped to establish the club in the upper echelons of the Premier League, has taken us to Wembley and we have also qualified for European competition for the past three seasons under his management. We wish him the best for the future," he added.
FA Cup: Aston Villa draw with Crystal Palace
Owen has tradition to live up to