Everton hardly looked like a team in crisis after the sale of Mikel Arteta as they claimed a deserved half-time lead through the outstanding Leon Osman.
Petrov hit a superb equaliser as Villa finally showed some endeavour after the break but it needed Agbonlahor's late header to earn a draw at Goodison Park after a Leighton Baines penalty.
The result left Everton frustrated after a fluid attacking display but their wholehearted performance at least put their off-field problems in the shade.
The game was preceded by a peaceful protest outside the stadium by several hundred supporters frustrated at a lack of investment under chairman Bill Kenwright.
Disquiet has been building for some time but has noticeably intensified since star player Arteta was sold to Arsenal last week.
Yet a greater gauge of feeling towards lifelong fan Kenwright was perhaps evident when he appeared on the big screen midway through the first half.
His appearance was initially met by boos from the crowd but they were quickly drowned out by a huge round of applause, suggesting the protesters remain a minority.
Both sides had talked up new signings but only one of them in Villa's Alan Hutton started the game.
Jermaine Jenas, who arrived with Hutton from Tottenham, was ruled out by a thigh injury while Everton left their loanees Royston Drenthe and Denis Stracqualursi on the bench.
With Ayegbeni Yakubu and Jermaine Beckford having also left the club recently and Louis Saha and Victor Anichebe injured, that meant Everton were starting without a recognised striker.
Yet it barely showed as Osman and Tim Cahill filled the forward roles superbly.
The Toffees attacked from the onset and appealed fruitlessly for a penalty inside the first minute when Osman went down under a Richard Dunne challenge.
Villa striker Darren Bent then headed off his own line as Phil Jagielka got forward to connect with a Baines corner from the right.
Baines stayed on the right and whipped in a low cross for Osman to turn and shoot but Shay Given instinctively stuck out a hand.
Jagielka headed another chance wide before Villa made a change after just 18 minutes when Emile Heskey left the field.
Everton were rewarded for their bright start after 19 minutes when Petrov and Dunne failed to clear a Seamus Coleman pass and Cahill squared for Osman to sidefoot home.
Substitute Barry Bannan, impressive for Scotland against Lithuania in midweek, had Villa's first serious attempt on goal after 30 minutes but Tim Howard comfortably saved his 35-yard shot.
Everton continued to dictate the pace and Osman brought another good save from Given with a curling shot from the edge of the area after being set up by Marouane Fellaini.
Fellaini then tried his luck with a powerful left-foot shot which flew over the bar.
Villa had a lucky escape just before the break when a long-range Jack Rodwell shot was deflected narrowly wide by Fabian Delph with Given well beaten.
Villa started to show some urgency after the break but Fellaini ended a good run by Delph and Sylvain Distin produced a fine tackle to deny Agbonlahor.
Everton were inches away from doubling their lead as Fellaini headed across goal and Jagielka in turn nodded narrowly over.
Yet Villa were enjoying a good spell and pulled back level just after the hour when Petrov found space outside the area and curled a stunning shot inside Howard's left-hand post.
Villa were energised but Everton quickly responded.
Cahill brought a fine reaction save from Given as he met a Baines corner with a firm header but Jagielka was then bundled over by Delph.
Referee Michael Oliver pointed to the spot and Baines stepped forward to tuck away the penalty.
Yet Villa were not finished and were freshened up by the introduction of Marc Albrighton for Charles N'Zogbia.
The visitors equalised for a second time after 83 minutes as Agbonlahor again got forward and spread the ball wide for Albrighton.
The winger had time to curl a fine cross to the back post for Agbonlahor to jump and head past Howard from point-blank range.
Everton roused themselves for one last effort to snatch a winner but substitute Apostolos Vellios sidefooted wide after beating Given on the edge of the area and then brought a fine fingertip save from the keeper.