Arsenal took the lead in first-half stoppage time when Denilson scored from a free-kick after George Boateng had fouled Diaby 25-yards from goal.
There was more controversy in the 55th minute when referee Bennett awarded Hull a penalty after Mikael Silvestre had been adjudged to have pulled the shirt of Fagan.
But Almunia saved a poor Geovanni spot-kick and then Stephen Hunt headed the rebound wide of the target.
Worse was to come for Phil Brown’s side in the 59th minute when Abou Diaby broke into the penalty area and pulled the ball back for Eduardo to tap home.
Arsenal wrapped up the points in the 80th minute when Diaby played a one-two with Arshavin and fired past Boaz Myhill.