Fabregas was not fit enough to start the match but came on after a lacklustre first half and scored two excellent goals before going off 28 minutes later feeling his hamstring. Diaby put the cap on a fine second half display to lift the Gunners into second place ahead of Manchester United's game at Hull later on Sunday.
Villa's usually reliable defence was taken apart in the second half but they stay in fourth position.
Arsenal had an early chance to take the lead on three minutes when Samir Nasri's free-kick from the right fell to Thomas Vermaelen at the far post and the defender's effort was blocked by Brad Friedel before Stephen Warnock cleared.
A minute later Eduardo was played into the area but his attempted shot on the turn lacked sufficient power to beat Friedel.
Andrey Arshavin had a similar chance to Eduardo but from further out and once again the effort was far too tame to beat Friedel.
At the other end Villa's best chance came when Ashley Young's shot looped over the bar off Alexandre Song on 13 minutes.
Arsenal started the second half in the ascendancy and they went close on 55 minutes when Friedel had to parry away Eduardo's free kick at the back post, before William Gallas had a shot blocked on the line a minute later following a right-wing corner.
Eduardo had an effort hacked off the line after some confusion in the Villa area, before Friedel parried away a low drive from Arshavin on 61 minutes.
Arsenal were rewarded for their pressure on 65 minutes when Fabregas picked himself up after a foul just outside the Villa area and curled a wonderful free kick over the wall and past Friedel only four minutes after coming on as a substitute.
Villa pushed forward in search of an equaliser and were caught out on 81 minutes when James Milner's sloppy pass was seized on and Arsenal broke forward. Theo Walcott played in Fabregas and the Spaniard coolly beat Friedel just inside the area.
Villa tried to get into the game but the closest they came was on 86 minutes when Manuel Almunia did well to deny Gabriel Agbonlahor from scoring.
The Gunners sealed the maximum points in stoppage time when Diaby was given all the time in the world to move forward and beat Friedel from the edge of the area.