Chelsea, who have won only once in 11 games at Villa Park, were hustled out of the game by an all-action display by Martin O'Neill's side which proved yet again they are now one of the top teams in the Premiership.
Villa's success, however, highlighted some frail defensive play in the Chelsea rearguard as the goals by Dunne and Collins were both free headers from Ashley Young corners.
In such a high-quality game when Villa had to come from behind following Didier Drogba's goal, goalkeeper Brad Friedel had a match of mixed fortunes.
Unfortunately his first-half error enabled Chelsea to take a shock lead. It was a bad mistake although he later made a couple of brilliant saves to keep Villa in the match.
Petr Cech found himself involved in the action early on following his return from suspension and displayed some impressive form in sharp contrast to the terrible mistake by Friedel which enabled Chelsea to take the lead from their first attack of the day.
It was something of a turning point after Villa had mounted most of the early attacks in an attempt to upset the league leaders.
Villa, who again had Emile Heskey on the substitutes bench, were certainly impressive in this spell with Gabby Agbonlahor in bubbling form against his England colleague, John Terry.
Agbonlahor appealed strongly for a penalty when tackled by Jose Bosingwa but stand-in referee Keith Friend firmly rejected a spot-kick much to the annoyance of the Villa fans.
But in the 15th minute the course of the game was seemingly changed when Drogba collected a short pass and surprisingly tried a speculative 35-yard shot which Friedel could only parry into the net.
Chelsea were determined to shoot on sight with Nicolas Anelka, who earlier had flattened Villa manager, Martin O'Neill, as he slid off the pitch, was always prepared to try his luck.
The league leaders, however, always had a fight on their hands as Villa bravely battled back to get back on level terms in the 32nd minute.
Young's corner flicked the head of Frank Lampard but the deflection was sufficient to put the ball into the path of Dunne to head home his second goal in successive matches.
Friedel certainly atoned for his earlier mistake with a flying save to keep out a clever chipped shot from Deco and later kept out another Drogba effort.
The game hit new heights in the 52nd minute when the unmarked Collins headed home his first goal for Villa following a left-wing corner from Young.
Friedel demonstrated his first-half mistake had not put him off his game as he made saves in quick succession from Deco and Florent Malouda as Villa hung on to take the points.