The top seed cuts short the American's bid to get valuable match practice ahead of Wimbledon in a three-hour battle at Eastbourne but Venus stays alive.
Zvonareva sends Serena Williams back for more practice
The Russian's 3-6, 7-6 (7/5), 7-5 three-hour triumph was revenge for a Wimbledon final a year ago won by Williams, now ranked 26th after nearly a year out of the game.
Williams was appearing in Eastbourne for the first time after two operations on a foot she cut after last year's Wimbledon followed by further surgery in February to remove blood clots from her lungs.
Zvonareva lost to the American in the last match Williams played prior to this week, the All-England club final nearly 50 weeks ago.
"It was definitely tough," said the winner, also a US Open finalist last autumn.
"Serena is such a champion. She's making an unbelievable comeback. We had a battle out there."
Williams served for a straight-set victory leading 5-4 in the second set only to double-fault it away.
That gave Zvonareva new life, with the Russian showing mental strength in a see-saw contest as Williams struggled in saving 15 or 21 break points and producing seven double-faults.
After squaring the sets, Zvonareva, who held a 5-2 lead at one point, was unable to convert on three match points in the tenth game of the third, dropping serve for 5-all.
But the relieved Russian re-broke a game later and finally served out the victory.
"I was trying my best, everything was tough. I'm happy with how I played and I'm very happy to get this win," said Zvonareva.
Venus Williams, 33rd and coming back after missing five months with an abdominal injury, managed an easy win, advancing to the quarter-finals 6-3, 6-2 over Ana Ivanovic.
"I feel I'm playing very tough, playing well on big points," said Venus, who last competed at the tournament 13 years ago.
"I just need to continue.
"These matches have been huge and crucial for me to just get back literally into the swing of things. I'm focusing on all the positives, and I think there's a lot of them.
"Taking the amount of time off (five months) I have taken, it's so important to focus on those positives."
Third seed Victoria Azarenka eliminated the last of the British players as she put out Elena Baltacha 7-1, 7-6 (7/0), while Czech fifth seed Petra Kvitova defeated holder Ekaterina Makarova 7-6 (10/8), 7-6 (7/4).
Australian Samantha Stosur, the number seven seed, beat young Serb Bojana Jovanovski 6-3, 6-2.
In the men's draw, Bulgarian Gregor Dimitrov upset South African sixth seed Kevin Anderson 6-3, 6-2.